| [ Index ] |
PHP Cross Reference of Unnamed Project |
[Source view] [Print] [Project Stats]
PostgreSQL specific SQL code generator.
| Copyright: | 1999 onwards Martin Dougiamas http://dougiamas.com |
| License: | http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
| File Size: | 535 lines (24 kb) |
| Included or required: | 0 times |
| Referenced: | 0 times |
| Includes or requires: | 0 files |
postgres_sql_generator:: (14 methods):
getResetSequenceSQL()
getCreateTempTableSQL()
getDropTableSQL()
getCreateIndexSQL()
getTypeSQL()
getCommentSQL()
getRenameTableExtraSQL()
getAlterFieldSQL()
getCreateDefaultSQL()
getDropDefaultSQL()
addslashes()
getSequenceFromDB()
isNameInUse()
getReservedWords()
Class: postgres_sql_generator - X-Ref
This class generate SQL code to be used against PostgreSQL| getResetSequenceSQL($table) X-Ref |
| Reset a sequence to the id field of a table. param: xmldb_table|string $table name of table or the table object. return: array of sql statements |
| getCreateTempTableSQL($xmldb_table) X-Ref |
| Given one correct xmldb_table, returns the SQL statements to create temporary table (inside one array). param: xmldb_table $xmldb_table The xmldb_table object instance. return: array of sql statements |
| getDropTableSQL($xmldb_table) X-Ref |
| Given one correct xmldb_table, returns the SQL statements to drop it (inside one array). param: xmldb_table $xmldb_table The table to drop. return: array SQL statement(s) for dropping the specified table. |
| getCreateIndexSQL($xmldb_table, $xmldb_index) X-Ref |
| Given one correct xmldb_index, returns the SQL statements needed to create it (in array). param: xmldb_table $xmldb_table The xmldb_table instance to create the index on. param: xmldb_index $xmldb_index The xmldb_index to create. return: array An array of SQL statements to create the index. |
| getTypeSQL($xmldb_type, $xmldb_length=null, $xmldb_decimals=null) X-Ref |
| Given one XMLDB Type, length and decimals, returns the DB proper SQL type. param: int $xmldb_type The xmldb_type defined constant. XMLDB_TYPE_INTEGER and other XMLDB_TYPE_* constants. param: int $xmldb_length The length of that data type. param: int $xmldb_decimals The decimal places of precision of the data type. return: string The DB defined data type. |
| getCommentSQL($xmldb_table) X-Ref |
| Returns the code (array of statements) needed to add one comment to the table. param: xmldb_table $xmldb_table The xmldb_table object instance. return: array Array of SQL statements to add one comment to the table. |
| getRenameTableExtraSQL($xmldb_table, $newname) X-Ref |
| Returns the code (array of statements) needed to execute extra statements on table rename. param: xmldb_table $xmldb_table The xmldb_table object instance. param: string $newname The new name for the table. return: array Array of extra SQL statements to rename a table. |
| getAlterFieldSQL($xmldb_table, $xmldb_field, $skip_type_clause = NULL, $skip_default_clause = NULL, $skip_notnull_clause = NULL) X-Ref |
| Given one xmldb_table and one xmldb_field, return the SQL statements needed to alter the field in the table. PostgreSQL has some severe limits: - Any change of type or precision requires a new temporary column to be created, values to be transfered potentially casting them, to apply defaults if the column is not null and finally, to rename it - Changes in null/not null require the SET/DROP NOT NULL clause - Changes in default require the SET/DROP DEFAULT clause param: xmldb_table $xmldb_table The table related to $xmldb_field. param: xmldb_field $xmldb_field The instance of xmldb_field to create the SQL from. param: string $skip_type_clause The type clause on alter columns, NULL by default. param: string $skip_default_clause The default clause on alter columns, NULL by default. param: string $skip_notnull_clause The null/notnull clause on alter columns, NULL by default. return: string The field altering SQL statement. |
| getCreateDefaultSQL($xmldb_table, $xmldb_field) X-Ref |
| Given one xmldb_table and one xmldb_field, return the SQL statements needed to add its default (usually invoked from getModifyDefaultSQL() param: xmldb_table $xmldb_table The xmldb_table object instance. param: xmldb_field $xmldb_field The xmldb_field object instance. return: array Array of SQL statements to create a field's default. |
| getDropDefaultSQL($xmldb_table, $xmldb_field) X-Ref |
| Given one xmldb_table and one xmldb_field, return the SQL statements needed to drop its default (usually invoked from getModifyDefaultSQL() Note that this method may be dropped in future. param: xmldb_table $xmldb_table The xmldb_table object instance. param: xmldb_field $xmldb_field The xmldb_field object instance. return: array Array of SQL statements to create a field's default. |
| addslashes($s) X-Ref |
| Adds slashes to string. param: string $s return: string The escaped string. |
| getSequenceFromDB($xmldb_table) X-Ref |
| Given one xmldb_table returns one string with the sequence of the table in the table (fetched from DB) The sequence name for Postgres has one standard name convention: tablename_fieldname_seq so we just calculate it and confirm it's present in pg_class param: xmldb_table $xmldb_table The xmldb_table object instance. return: string|bool If no sequence is found, returns false |
| isNameInUse($object_name, $type, $table_name) X-Ref |
| Given one object name and it's type (pk, uk, fk, ck, ix, uix, seq, trg). (MySQL requires the whole xmldb_table object to be specified, so we add it always) This is invoked from getNameForObject(). Only some DB have this implemented. param: string $object_name The object's name to check for. param: string $type The object's type (pk, uk, fk, ck, ix, uix, seq, trg). param: string $table_name The table's name to check in return: bool If such name is currently in use (true) or no (false) |
| getReservedWords() X-Ref |
| Returns an array of reserved words (lowercase) for this DB return: array An array of database specific reserved words |
| Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |