MDB2
[ class tree: MDB2 ] [ index: MDB2 ] [ all elements ]

Class: MDB2_Driver_Reverse_Common

Source Location: /MDB2-2.5.0b5/MDB2/Driver/Reverse/Common.php

Class Overview

MDB2_Module_Common
   |
   --MDB2_Driver_Reverse_Common

Base class for the schema reverse engineering module that is extended by each MDB2 driver


Author(s):

Methods


Inherited Variables

Inherited Methods

Class: MDB2_Module_Common

MDB2_Module_Common::__construct()
Constructor
MDB2_Module_Common::getDBInstance()
Get the instance of MDB2 associated with the module instance

Class Details

[line 73]
Base class for the schema reverse engineering module that is extended by each MDB2 driver

To load this module in the MDB2 object: $mdb->loadModule('Reverse');



[ Top ]


Method Detail

getSequenceDefinition   [line 221]

mixed getSequenceDefinition( string $sequence)

Get the structure of a sequence into an array
  • Return: data array on success, a MDB2 error on failure The returned array has this structure:
              array (
                  [start] => n
              );
  • Access: public

Parameters:

string   $sequence     name of sequence that should be used in method

[ Top ]

getTableConstraintDefinition   [line 194]

mixed getTableConstraintDefinition( string $table, string $index)

Get the structure of an constraints into an array
  • Return: data array on success, a MDB2 error on failure The returned array has this structure:
              array (
                  [primary] => 0
                  [unique]  => 0
                  [foreign] => 1
                  [check]   => 0
                  [fields] => array (
                      [field1name] => array() // one entry per each field covered
                      [field2name] => array() // by the index
                      [field3name] => array(
                          [sorting]  => ascending
                          [position] => 3
                      )
                  )
                  [references] => array(
                      [table] => name
                      [fields] => array(
                          [field1name] => array(  //one entry per each referenced field
                               [position] => 1
                          )
                      )
                  )
                  [deferrable] => 0
                  [initiallydeferred] => 0
                  [onupdate] => CASCADE|RESTRICT|SET NULL|SET DEFAULT|NO ACTION
                  [ondelete] => CASCADE|RESTRICT|SET NULL|SET DEFAULT|NO ACTION
                  [match] => SIMPLE|PARTIAL|FULL
              );
  • Access: public

Parameters:

string   $table     name of table that should be used in method
string   $index     name of index that should be used in method

[ Top ]

getTableFieldDefinition   [line 108]

mixed getTableFieldDefinition( string $table, string $field)

Get the structure of a field into an array
  • Return: data array on success, a MDB2 error on failure. The returned array contains an array for each field definition, with all or some of these indices, depending on the field data type: [notnull] [nativetype] [length] [fixed] [default] [type] [mdb2type]
  • Access: public

Parameters:

string   $table     name of table that should be used in method
string   $field     name of field that should be used in method

[ Top ]

getTableIndexDefinition   [line 142]

mixed getTableIndexDefinition( string $table, string $index)

Get the structure of an index into an array
  • Return: data array on success, a MDB2 error on failure The returned array has this structure: </pre> array ( [fields] => array ( [field1name] => array() // one entry per each field covered [field2name] => array() // by the index [field3name] => array( [sorting] => ascending ) ) ); </pre>
  • Access: public

Parameters:

string   $table     name of table that should be used in method
string   $index     name of index that should be used in method

[ Top ]

getTriggerDefinition   [line 274]

mixed getTriggerDefinition( string $trigger)

Get the structure of a trigger into an array

EXPERIMENTAL

WARNING: this function is experimental and may change the returned value at any time until labelled as non-experimental

  • Return: data array on success, a MDB2 error on failure The returned array has this structure:
              array (
                  [trigger_name]    => 'trigger name',
                  [table_name]      => 'table name',
                  [trigger_body]    => 'trigger body definition',
                  [trigger_type]    => 'BEFORE' | 'AFTER',
                  [trigger_event]   => 'INSERT' | 'UPDATE' | 'DELETE'
                      //or comma separated list of multiple events, when supported
                  [trigger_enabled] => true|false
                  [trigger_comment] => 'trigger comment',
              );
    The oci8 driver also returns a [when_clause] index.
  • Access: public

Parameters:

string   $trigger     name of trigger that should be used in method

[ Top ]

tableInfo   [line 408]

array tableInfo( object|string $result, [int $mode = null])

Returns information about a table or a result set

The format of the resulting array depends on which $mode you select. The sample output below is based on this query:

    SELECT tblFoo.fldID, tblFoo.fldPhone, tblBar.fldId
    FROM tblFoo
    JOIN tblBar ON tblFoo.fldId = tblBar.fldId

  • null (default)
       [0] => Array (
           [table] => tblFoo
           [name] => fldId
           [type] => int
           [len] => 11
           [flags] => primary_key not_null
       )
       [1] => Array (
           [table] => tblFoo
           [name] => fldPhone
           [type] => string
           [len] => 20
           [flags] =>
       )
       [2] => Array (
           [table] => tblBar
           [name] => fldId
           [type] => int
           [len] => 11
           [flags] => primary_key not_null
       )
  • MDB2_TABLEINFO_ORDER <p>In addition to the information found in the default output, a notation of the number of columns is provided by the num_fields element while the order element provides an array with the column names as the keys and their location index number (corresponding to the keys in the the default output) as the values.</p> <p>If a result set has identical field names, the last one is used.</p>
       [num_fields] => 3
       [order] => Array (
           [fldId] => 2
           [fldTrans] => 1
       )
  • MDB2_TABLEINFO_ORDERTABLE <p>Similar to MDB2_TABLEINFO_ORDER but adds more dimensions to the array in which the table names are keys and the field names are sub-keys. This is helpful for queries that join tables which have identical field names.</p>
       [num_fields] => 3
       [ordertable] => Array (
           [tblFoo] => Array (
               [fldId] => 0
               [fldPhone] => 1
           )
           [tblBar] => Array (
               [fldId] => 2
           )
       )

The flags element contains a space separated list of extra information about the field. This data is inconsistent between DBMS's due to the way each DBMS works.

  • primary_key
  • unique_key
  • multiple_key
  • not_null
Most DBMS's only provide the table and flags elements if $result is a table name. The following DBMS's provide full information from queries:
  • fbsql
  • mysql
If the 'portability' option has MDB2_PORTABILITY_FIX_CASE turned on, the names of tables and fields will be lower or upper cased.


Parameters:

object|string   $result     MDB2_result object from a query or a string containing the name of a table. While this also accepts a query result resource identifier, this behavior is deprecated.
int   $mode     either unused or one of the tableInfo modes: MDB2_TABLEINFO_ORDERTABLE, MDB2_TABLEINFO_ORDER or MDB2_TABLEINFO_FULL (which does both). These are bitwise, so the first two can be combined using |.

[ Top ]


Documentation generated on Mon, 29 Oct 2012 16:00:08 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.