ADODB_DataDict Class Reference

Inheritance diagram for ADODB_DataDict:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 GetCommentSQL ($table, $col)
 in other words, we use a text area for editting.
 SetCommentSQL ($table, $col, $cmt)
 MetaTables ()
 MetaColumns ($tab, $upper=true, $schema=false)
 MetaPrimaryKeys ($tab, $owner=false, $intkey=false)
 MetaIndexes ($table, $primary=false, $owner=false)
 MetaType ($t, $len=-1, $fieldobj=false)
 NameQuote ($name=NULL, $allowBrackets=false)
 TableName ($name)
 ExecuteSQLArray ($sql, $continueOnError=true)
 ActualType ($meta)
 CreateDatabase ($dbname, $options=false)
 CreateIndexSQL ($idxname, $tabname, $flds, $idxoptions=false)
 DropIndexSQL ($idxname, $tabname=NULL)
 SetSchema ($schema)
 AddColumnSQL ($tabname, $flds)
 AlterColumnSQL ($tabname, $flds, $tableflds='', $tableoptions='')
 RenameColumnSQL ($tabname, $oldcolumn, $newcolumn, $flds='')
 DropColumnSQL ($tabname, $flds, $tableflds='', $tableoptions='')
 DropTableSQL ($tabname)
 RenameTableSQL ($tabname, $newname)
 CreateTableSQL ($tabname, $flds, $tableoptions=array())
 _GenFields ($flds, $widespacing=false)
 _GetSize ($ftype, $ty, $fsize, $fprec)
 _CreateSuffix ($fname, $ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint)
 _IndexSQL ($idxname, $tabname, $flds, $idxoptions)
 _DropAutoIncrement ($tabname)
 _TableSQL ($tabname, $lines, $pkey, $tableoptions)
 _Triggers ($tabname, $taboptions)
 _Options ($opts)
 ChangeTableSQL ($tablename, $flds, $tableoptions=false)

Public Attributes

 $connection
 $debug = false
 $dropTable = 'DROP TABLE %s'
 $renameTable = 'RENAME TABLE %s TO %s'
 $dropIndex = 'DROP INDEX %s'
 $addCol = ' ADD'
 $alterCol = ' ALTER COLUMN'
 $dropCol = ' DROP COLUMN'
 $renameColumn = 'ALTER TABLE %s RENAME COLUMN %s TO %s'
 $nameRegex = '\w'
 $nameRegexBrackets = 'a-zA-Z0-9_\(\)'
 $schema = false
 $serverInfo = array()
 $autoIncrement = false
 $dataProvider
 $invalidResizeTypes4 = array('CLOB','BLOB','TEXT','DATE','TIME')
 $blobSize = 100


Detailed Description

Definition at line 164 of file adodb-datadict.inc.php.


Member Function Documentation

ADODB_DataDict::GetCommentSQL ( table,
col 
)

in other words, we use a text area for editting.

any varchar/char field this size or greater is treated as a blob

Reimplemented in ADODB2_oci8.

Definition at line 184 of file adodb-datadict.inc.php.

ADODB_DataDict::ActualType ( meta  ) 

Returns the actual type given a character code.

C: varchar X: CLOB (character large object) or largest varchar size if CLOB is not supported C2: Multibyte varchar X2: Multibyte CLOB

B: BLOB (binary large object)

D: Date T: Date-time L: Integer field suitable for storing booleans (0 or 1) I: Integer F: Floating point number N: Numeric or decimal number

Reimplemented in ADODB2_access, ADODB2_db2, ADODB2_firebird, ADODB2_generic, ADODB2_ibase, ADODB2_informix, ADODB2_mssql, ADODB2_mysql, ADODB2_oci8, ADODB2_postgres, ADODB2_sapdb, and ADODB2_sybase.

Definition at line 298 of file adodb-datadict.inc.php.

ADODB_DataDict::AlterColumnSQL ( tabname,
flds,
tableflds = '',
tableoptions = '' 
)

Change the definition of one column

As some DBM's can't do that on there own, you need to supply the complete defintion of the new table, to allow, recreating the table and copying the content over to the new table

Parameters:
string $tabname table-name
string $flds column-name and type for the changed column
string $tableflds='' complete defintion of the new table, eg. for postgres, default ''
array/string $tableoptions='' options for the new table see CreateTableSQL, default ''
Returns:
array with SQL strings

Reimplemented in ADODB2_postgres.

Definition at line 374 of file adodb-datadict.inc.php.

ADODB_DataDict::RenameColumnSQL ( tabname,
oldcolumn,
newcolumn,
flds = '' 
)

Rename one column

Some DBM's can only do this together with changeing the type of the column (even if that stays the same, eg. mysql)

Parameters:
string $tabname table-name
string $oldcolumn column-name to be renamed
string $newcolumn new column-name
string $flds='' complete column-defintion-string like for AddColumnSQL, only used by mysql atm., default=''
Returns:
array with SQL strings

Definition at line 405 of file adodb-datadict.inc.php.

ADODB_DataDict::DropColumnSQL ( tabname,
flds,
tableflds = '',
tableoptions = '' 
)

Drop one column

Some DBM's can't do that on there own, you need to supply the complete defintion of the new table, to allow, recreating the table and copying the content over to the new table

Parameters:
string $tabname table-name
string $flds column-name and type for the changed column
string $tableflds='' complete defintion of the new table, eg. for postgres, default ''
array/string $tableoptions='' options for the new table see CreateTableSQL, default ''
Returns:
array with SQL strings

Reimplemented in ADODB2_postgres.

Definition at line 429 of file adodb-datadict.inc.php.

ADODB_DataDict::CreateTableSQL ( tabname,
flds,
tableoptions = array() 
)

Generate the SQL to create table. Returns an array of sql strings.

Definition at line 454 of file adodb-datadict.inc.php.

ADODB_DataDict::_GetSize ( ftype,
ty,
fsize,
fprec 
)

GENERATE THE SIZE PART OF THE DATATYPE $ftype is the actual type $ty is the type defined originally in the DDL

Reimplemented in ADODB2_mssql, and ADODB2_postgres.

Definition at line 696 of file adodb-datadict.inc.php.

ADODB_DataDict::_Triggers ( tabname,
taboptions 
)

GENERATE TRIGGERS IF NEEDED used when table has auto-incrementing field that is emulated using triggers

Reimplemented in ADODB2_firebird, and ADODB2_oci8.

Definition at line 788 of file adodb-datadict.inc.php.

ADODB_DataDict::_Options ( opts  ) 

Sanitize options, so that array elements with no keys are promoted to keys

Definition at line 796 of file adodb-datadict.inc.php.

ADODB_DataDict::ChangeTableSQL ( tablename,
flds,
tableoptions = false 
)

"Florian Buzin [ easywe ]" <florian.buzin::easywe.de>

This function changes/adds new fields to your table. You don't have to know if the col is new or not. It will check on its own.

Reimplemented in ADODB2_db2.

Definition at line 813 of file adodb-datadict.inc.php.


The documentation for this class was generated from the following file:
This documentation has been generated automatically from TYPO3 source code using Doxygen and is provided as is by Cast Iron Coding as a courtesy to other TYPO3 developers and users. Please consider Cast Iron Coding — a full-service web development agency in Portland, Oregon specializing in TYPO3 extension development — for all of your TYPO3 development and consulting needs!