Public Member Functions | Public Attributes

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, $funsigned)
 _IndexSQL ($idxname, $tabname, $flds, $idxoptions)
 _DropAutoIncrement ($tabname)
 _TableSQL ($tabname, $lines, $pkey, $tableoptions)
 _Triggers ($tabname, $taboptions)
 _Options ($opts)
 _getSizePrec ($size)
 ChangeTableSQL ($tablename, $flds, $tableoptions=false, $dropOldFlds=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::_CreateSuffix ( fname,
&$  ftype,
fnotnull,
fdefault,
fautoinc,
fconstraint,
funsigned 
)

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

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

Referenced by _GenFields().

Here is the caller graph for this function:

ADODB_DataDict::_DropAutoIncrement ( tabname  ) 

Reimplemented in ADODB2_firebird, ADODB2_oci8, and ADODB2_postgres.

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

Referenced by _TableSQL().

Here is the caller graph for this function:

ADODB_DataDict::_GenFields ( flds,
widespacing = false 
)
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, ADODB2_mssqlnative, and ADODB2_postgres.

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

Referenced by _GenFields().

Here is the caller graph for this function:

ADODB_DataDict::_getSizePrec ( size  ) 

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

Referenced by ChangeTableSQL().

Here is the caller graph for this function:

ADODB_DataDict::_IndexSQL ( idxname,
tabname,
flds,
idxoptions 
)

Reimplemented in ADODB2_mssql, ADODB2_mssqlnative, ADODB2_mysql, ADODB2_oci8, ADODB2_postgres, and ADODB2_sybase.

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

References $sql.

Referenced by CreateIndexSQL().

Here is the caller graph for this function:

ADODB_DataDict::_Options ( opts  ) 

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

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

Referenced by ADODB2_oci8::CreateDatabase(), ADODB2_firebird::CreateDatabase(), CreateDatabase(), CreateIndexSQL(), and CreateTableSQL().

Here is the caller graph for this function:

ADODB_DataDict::_TableSQL ( tabname,
lines,
pkey,
tableoptions 
)

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

References $sql, and _DropAutoIncrement().

Referenced by CreateTableSQL().

Here is the call graph for this function:

Here is the caller graph for this function:

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 899 of file adodb-datadict.inc.php.

Referenced by CreateTableSQL().

Here is the caller graph for this function:

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_mssqlnative, ADODB2_mysql, ADODB2_oci8, ADODB2_postgres, ADODB2_sapdb, ADODB2_sqlite, and ADODB2_sybase.

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

Referenced by _GenFields().

Here is the caller graph for this function:

ADODB_DataDict::AddColumnSQL ( tabname,
flds 
)

Reimplemented in ADODB2_mssql, ADODB2_mssqlnative, ADODB2_oci8, ADODB2_postgres, ADODB2_sapdb, and ADODB2_sybase.

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

References $sql, _GenFields(), and TableName().

Here is the call graph for this function:

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 483 of file adodb-datadict.inc.php.

References $sql, _GenFields(), and TableName().

Here is the call graph for this function:

ADODB_DataDict::ChangeTableSQL ( tablename,
flds,
tableoptions = false,
dropOldFlds = 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.

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

References $sql, _GenFields(), _getSizePrec(), CreateTableSQL(), debug(), Lens_ParseArgs(), MetaColumns(), MetaType(), and TableName().

Here is the call graph for this function:

ADODB_DataDict::CreateDatabase ( dbname,
options = false 
)

Reimplemented in ADODB2_access, ADODB2_firebird, and ADODB2_oci8.

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

References $sql, _Options(), and NameQuote().

Here is the call graph for this function:

ADODB_DataDict::CreateIndexSQL ( idxname,
tabname,
flds,
idxoptions = false 
)

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

References _IndexSQL(), _Options(), NameQuote(), and TableName().

Referenced by ADODB2_postgres::_recreate_copy_table().

Here is the call graph for this function:

Here is the caller graph for this function:

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

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

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

References $sql, _GenFields(), _Options(), _TableSQL(), _Triggers(), and TableName().

Referenced by ADODB2_postgres::_recreate_copy_table(), ADODB2_db2::ChangeTableSQL(), and ChangeTableSQL().

Here is the call graph for this function:

Here is the caller graph for this function:

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 538 of file adodb-datadict.inc.php.

References $sql, NameQuote(), and TableName().

Here is the call graph for this function:

ADODB_DataDict::DropIndexSQL ( idxname,
tabname = NULL 
)

Reimplemented in ADODB2_postgres.

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

References NameQuote(), and TableName().

Here is the call graph for this function:

ADODB_DataDict::DropTableSQL ( tabname  ) 

Reimplemented in ADODB2_postgres.

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

References TableName().

Here is the call graph for this function:

ADODB_DataDict::ExecuteSQLArray ( sql,
continueOnError = true 
)

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

References $conn, $sql, and debug().

Here is the call graph for this function:

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::MetaColumns ( tab,
upper = true,
schema = false 
)

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

References $schema, and TableName().

Referenced by ADODB2_postgres::_recreate_copy_table(), ADODB2_db2::ChangeTableSQL(), and ChangeTableSQL().

Here is the call graph for this function:

Here is the caller graph for this function:

ADODB_DataDict::MetaIndexes ( table,
primary = false,
owner = false 
)

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

References TableName().

Referenced by ADODB2_postgres::_recreate_copy_table().

Here is the call graph for this function:

Here is the caller graph for this function:

ADODB_DataDict::MetaPrimaryKeys ( tab,
owner = false,
intkey = false 
)

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

References TableName().

Here is the call graph for this function:

ADODB_DataDict::MetaTables (  ) 

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

ADODB_DataDict::MetaType ( t,
len = -1,
fieldobj = false 
)

Reimplemented in ADODB2_mssql, ADODB2_mssqlnative, ADODB2_mysql, ADODB2_postgres, ADODB2_sapdb, and ADODB2_sybase.

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

Referenced by ChangeTableSQL().

Here is the caller graph for this function:

ADODB_DataDict::NameQuote ( name = NULL,
allowBrackets = false 
)
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

Reimplemented in ADODB2_sqlite.

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

References _GenFields(), NameQuote(), and TableName().

Here is the call graph for this function:

ADODB_DataDict::RenameTableSQL ( tabname,
newname 
)

Reimplemented in ADODB2_postgres.

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

References TableName().

Here is the call graph for this function:

ADODB_DataDict::SetCommentSQL ( table,
col,
cmt 
)

Reimplemented in ADODB2_oci8.

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

ADODB_DataDict::SetSchema ( schema  ) 

Reimplemented in ADODB2_access.

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

References $schema.

ADODB_DataDict::TableName ( name  ) 

Member Data Documentation

ADODB_DataDict::$addCol = ' ADD'

Reimplemented in ADODB2_postgres, and ADODB2_sqlite.

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

ADODB_DataDict::$alterCol = ' ALTER COLUMN'

Reimplemented in ADODB2_mysql, and ADODB2_oci8.

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

ADODB_DataDict::$autoIncrement = false

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

ADODB_DataDict::$blobSize = 100

Reimplemented in ADODB2_firebird.

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

ADODB_DataDict::$connection

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

ADODB_DataDict::$dataProvider

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

ADODB_DataDict::$debug = false

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

ADODB_DataDict::$dropCol = ' DROP COLUMN'

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

ADODB_DataDict::$dropIndex = 'DROP INDEX %s'

Reimplemented in ADODB2_mssql, ADODB2_mssqlnative, ADODB2_mysql, ADODB2_sqlite, and ADODB2_sybase.

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

ADODB_DataDict::$dropTable = 'DROP TABLE %s'

Reimplemented in ADODB2_mysql, ADODB2_oci8, ADODB2_postgres, and ADODB2_sqlite.

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

ADODB_DataDict::$invalidResizeTypes4 = array('CLOB','BLOB','TEXT','DATE','TIME')

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

ADODB_DataDict::$nameRegex = '\w'

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

ADODB_DataDict::$nameRegexBrackets = 'a-zA-Z0-9_\(\)'

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

ADODB_DataDict::$renameColumn = 'ALTER TABLE %s RENAME COLUMN %s TO %s'

Reimplemented in ADODB2_mssql, ADODB2_mssqlnative, ADODB2_mysql, and ADODB2_sapdb.

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

ADODB_DataDict::$renameTable = 'RENAME TABLE %s TO %s'

Reimplemented in ADODB2_mssql, ADODB2_mssqlnative, ADODB2_postgres, and ADODB2_sqlite.

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

ADODB_DataDict::$schema = false

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

Referenced by MetaColumns(), and SetSchema().

ADODB_DataDict::$serverInfo = array()

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


The documentation for this class was generated from the following file: