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

Class: MDB2_Driver_Datatype_Common

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

Class Overview

MDB2_Module_Common
   |
   --MDB2_Driver_Datatype_Common

MDB2_Driver_Common: Base class that is extended by each MDB2 driver


Author(s):

Variables

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 65]
MDB2_Driver_Common: Base class that is extended by each MDB2 driver

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



[ Top ]


Class Variables

$lobs = array()

[line 85]

contains all LOB objects created with this MDB2 instance
  • Access: protected

Type:   array


[ Top ]

$valid_default_values = array(
        'text'      => '',
        'boolean'   => true,
        'integer'   => 0,
        'decimal'   => 0.0,
        'float'     => 0.0,
        'timestamp' => '1970-01-01 00:00:00',
        'time'      => '00:00:00',
        'date'      => '1970-01-01',
        'clob'      => '',
        'blob'      => '',
    )

[line 67]


Type:   mixed


[ Top ]



Method Detail

checkResultTypes   [line 143]

mixed checkResultTypes( array $types)

Define the list of types to be associated with the columns of a given result set.

This function may be called before invoking fetchRow(), fetchOne() fetchCole() and fetchAll() so that the necessary data type conversions are performed on the data to be retrieved by them. If this function is not called, the type of all result set columns is assumed to be text, thus leading to not perform any conversions.

  • Return: MDB2_OK on success, a MDB2 error on failure
  • Access: public

Parameters:

array   $types     array variable that lists the data types to be expected in the result set columns. If this array contains less types than the number of columns that are returned in the result set, the remaining columns are assumed to be of the type text. Currently, the types clob and blob are not fully supported.

[ Top ]

compareDefinition   [line 877]

array compareDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied
  • Return: containing all changes that will need to be applied
  • Access: public

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

convertResult   [line 233]

mixed convertResult( mixed $value, string $type, [boolean $rtrim = true])

Convert a value to a RDBMS indipendent MDB2 type
  • Return: converted value
  • Access: public

Parameters:

mixed   $value     value to be converted
string   $type     specifies which type to convert to
boolean   $rtrim     [optional] when TRUE [default], apply rtrim() to text

[ Top ]

convertResultRow   [line 264]

mixed convertResultRow( array $types, array $row, [boolean $rtrim = true])

Convert a result row
  • Return: MDB2_OK on success, an MDB2 error on failure
  • Access: public

Parameters:

array   $types     
array   $row     specifies the types to convert to
boolean   $rtrim     [optional] when TRUE [default], apply rtrim() to text

[ Top ]

destroyLOB   [line 1626]

void destroyLOB( resource $lob)

Free any resources allocated during the lifetime of the large object handler object.
  • Access: public

Parameters:

resource   $lob     stream handle

[ Top ]

getDeclaration   [line 343]

string getDeclaration( string $type, string $name, string $field)

Obtain DBMS specific SQL code portion needed to declare of the given type
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: public

Parameters:

string   $type     type to which the value should be converted to
string   $name     name the field to be declared.
string   $field     definition of the field

[ Top ]

getTypeDeclaration   [line 392]

string getTypeDeclaration( array $field)

Obtain DBMS specific SQL code portion needed to declare an text type field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: public

Parameters:

array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

length Integer value that determines the maximum length of the text field. If this argument is missing the field should be declared to have the longest length allowed by the DBMS.

default Text value to be used as default for this field.

notnull Boolean flag that indicates whether this field is constrained to not be set to null.


[ Top ]

getValidTypes   [line 100]

mixed getValidTypes( )

Get the list of valid types

This function returns an array of valid types as keys with the values being possible default values for all native datatypes and mapped types for custom datatypes.

  • Return: array on success, a MDB2 error on failure
  • Access: public

[ Top ]

implodeArray   [line 1667]

string implodeArray( array $array, [string $type = false])

apply a type to all values of an array and return as a comma seperated string useful for generating IN statements
  • Return: comma seperated values
  • Access: public

Parameters:

array   $array     data array
string   $type     determines type of the field

[ Top ]

mapNativeDatatype   [line 1779]

array mapNativeDatatype( array $field)

Maps a native array description of a field to a MDB2 datatype and length
  • Return: containing the various possible types, length, sign, fixed
  • Access: public

Parameters:

array   $field     native field description

[ Top ]

mapPrepareDatatype   [line 1829]

string mapPrepareDatatype( string $type)

Maps an mdb2 datatype to mysqli prepare type
  • Access: public

Parameters:

string   $type     

[ Top ]

matchPattern   [line 1697]

string matchPattern( array $pattern, [string $operator = null], [string $field = null])

build a pattern matching string
  • Return: SQL pattern
  • Access: public

Parameters:

array   $pattern     even keys are strings, odd are patterns (% and _)
string   $operator     optional pattern operator (LIKE, ILIKE and maybe others in the future)
string   $field     optional field name that is being matched against (might be required when emulating ILIKE)

[ Top ]

patternEscapeString   [line 1764]

string patternEscapeString( )

build string to define pattern escape character
  • Return: define pattern escape character
  • Access: public

[ Top ]

quote   [line 1124]

string quote( string $value, [string $type = null], [bool $quote = true], [bool $escape_wildcards = false])

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: public

Parameters:

string   $value     text string value that is intended to be converted.
string   $type     type to which the value should be converted to
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

writeLOBToFile   [line 1533]

mixed writeLOBToFile( resource $lob, string $file)

retrieve LOB from the database
  • Return: MDB2_OK on success, a MDB2 error on failure
  • Access: protected

Parameters:

resource   $lob     stream handle
string   $file     name of the file into which the LOb should be fetched

[ Top ]

_baseConvertResult   [line 173]

object an _baseConvertResult( mixed $value, string $type, [boolean $rtrim = true])

General type conversion method
  • Return: MDB2 error on failure
  • Access: protected

Parameters:

mixed   $value     reference to a value to be converted
string   $type     specifies which type to convert to
boolean   $rtrim     [optional] when TRUE [default], apply rtrim() to text

[ Top ]

_compareBLOBDefinition   [line 1008]

array _compareBLOBDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied to an BLOB field
  • Return: containing all changes that will need to be applied
  • Access: protected

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

_compareBooleanDefinition   [line 1072]

array _compareBooleanDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied to an boolean field
  • Return: containing all changes that will need to be applied
  • Access: protected

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

_compareCLOBDefinition   [line 992]

array _compareCLOBDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied to an CLOB field
  • Return: containing all changes that will need to be applied
  • Access: protected

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

_compareDateDefinition   [line 1024]

array _compareDateDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied to an date field
  • Return: containing all changes that will need to be applied
  • Access: protected

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

_compareDecimalDefinition   [line 1104]

array _compareDecimalDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied to an decimal field
  • Return: containing all changes that will need to be applied
  • Access: protected

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

_compareFloatDefinition   [line 1088]

array _compareFloatDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied to an float field
  • Return: containing all changes that will need to be applied
  • Access: protected

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

_compareIntegerDefinition   [line 933]

array _compareIntegerDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied to an integer field
  • Return: containing all changes that will need to be applied
  • Access: protected

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

_compareTextDefinition   [line 965]

array _compareTextDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied to an text field
  • Return: containing all changes that will need to be applied
  • Access: protected

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

_compareTimeDefinition   [line 1040]

array _compareTimeDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied to an time field
  • Return: containing all changes that will need to be applied
  • Access: protected

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

_compareTimestampDefinition   [line 1056]

array _compareTimestampDefinition( array $current, array $previous)

Obtain an array of changes that may need to applied to an timestamp field
  • Return: containing all changes that will need to be applied
  • Access: protected

Parameters:

array   $current     new definition
array   $previous     old definition

[ Top ]

_endOfLOB   [line 1611]

mixed _endOfLOB( array $lob)

Determine whether it was reached the end of the large object and therefore there is no more data to be read for the its input stream.
  • Return: true or false on success, a MDB2 error on failure
  • Access: protected

Parameters:

array   $lob     array

[ Top ]

_getBLOBDeclaration   [line 692]

string _getBLOBDeclaration( string $name, array $field)

Obtain DBMS specific SQL code portion needed to declare an binary large object type field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: protected

Parameters:

string   $name     name the field to be declared.
array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

length Integer value that determines the maximum length of the large object field. If this argument is missing the field should be declared to have the longest length allowed by the DBMS.

notnull Boolean flag that indicates whether this field is constrained to not be set to null.


[ Top ]

_getBooleanDeclaration   [line 726]

string _getBooleanDeclaration( string $name, array $field)

Obtain DBMS specific SQL code portion needed to declare a boolean type field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: protected

Parameters:

string   $name     name the field to be declared.
array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

default Boolean value to be used as default for this field.

notnullL Boolean flag that indicates whether this field is constrained to not be set to null.


[ Top ]

_getCLOBDeclaration   [line 656]

string _getCLOBDeclaration( string $name, array $field)

Obtain DBMS specific SQL code portion needed to declare an character large object type field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: public

Parameters:

string   $name     name the field to be declared.
array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

length Integer value that determines the maximum length of the large object field. If this argument is missing the field should be declared to have the longest length allowed by the DBMS.

notnull Boolean flag that indicates whether this field is constrained to not be set to null.


[ Top ]

_getDateDeclaration   [line 753]

string _getDateDeclaration( string $name, array $field)

Obtain DBMS specific SQL code portion needed to declare a date type field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: protected

Parameters:

string   $name     name the field to be declared.
array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

default Date value to be used as default for this field.

notnull Boolean flag that indicates whether this field is constrained to not be set to null.


[ Top ]

_getDecimalDeclaration   [line 861]

string _getDecimalDeclaration( string $name, array $field)

Obtain DBMS specific SQL code portion needed to declare a decimal type field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: protected

Parameters:

string   $name     name the field to be declared.
array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

default Decimal value to be used as default for this field.

notnull Boolean flag that indicates whether this field is constrained to not be set to null.


[ Top ]

_getDeclaration   [line 458]

string _getDeclaration( string $name, array $field)

Obtain DBMS specific SQL code portion needed to declare a generic type field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field, or a MDB2_Error on failure
  • Access: protected

Parameters:

string   $name     name the field to be declared.
array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

length Integer value that determines the maximum length of the text field. If this argument is missing the field should be declared to have the longest length allowed by the DBMS.

default Text value to be used as default for this field.

notnull Boolean flag that indicates whether this field is constrained to not be set to null. charset Text value with the default CHARACTER SET for this field. collation Text value with the default COLLATION for this field.


[ Top ]

_getDeclarationOptions   [line 499]

string _getDeclarationOptions( array $field)

Obtain DBMS specific SQL code portion needed to declare a generic type field to be used in statement like CREATE TABLE, without the field name and type values (ie. just the character set, default value, if the field is permitted to be NULL or not, and the collation options).
  • Return: DBMS specific SQL code portion that should be used to declare the specified field's options.
  • Access: protected

Parameters:

array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

default Text value to be used as default for this field. notnull Boolean flag that indicates whether this field is constrained to not be set to null. charset Text value with the default CHARACTER SET for this field. collation Text value with the default COLLATION for this field.


[ Top ]

_getFloatDeclaration   [line 834]

string _getFloatDeclaration( string $name, array $field)

Obtain DBMS specific SQL code portion needed to declare a float type field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: protected

Parameters:

string   $name     name the field to be declared.
array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

default Float value to be used as default for this field.

notnull Boolean flag that indicates whether this field is constrained to not be set to null.


[ Top ]

_getIntegerDeclaration   [line 587]

string _getIntegerDeclaration( string $name, array $field)

Obtain DBMS specific SQL code portion needed to declare an integer type field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: protected

Parameters:

string   $name     name the field to be declared.
array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

unsigned Boolean flag that indicates whether the field should be declared as unsigned integer if possible.

default Integer value to be used as default for this field.

notnull Boolean flag that indicates whether this field is constrained to not be set to null.


[ Top ]

_getTextDeclaration   [line 627]

string _getTextDeclaration( string $name, array $field)

Obtain DBMS specific SQL code portion needed to declare an text type field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: protected

Parameters:

string   $name     name the field to be declared.
array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

length Integer value that determines the maximum length of the text field. If this argument is missing the field should be declared to have the longest length allowed by the DBMS.

default Text value to be used as default for this field.

notnull Boolean flag that indicates whether this field is constrained to not be set to null.


[ Top ]

_getTimeDeclaration   [line 807]

string _getTimeDeclaration( string $name, array $field)

Obtain DBMS specific SQL code portion needed to declare a time field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: protected

Parameters:

string   $name     name the field to be declared.
array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

default Time value to be used as default for this field.

notnull Boolean flag that indicates whether this field is constrained to not be set to null.


[ Top ]

_getTimestampDeclaration   [line 780]

string _getTimestampDeclaration( string $name, array $field)

Obtain DBMS specific SQL code portion needed to declare a timestamp field to be used in statements like CREATE TABLE.
  • Return: DBMS specific SQL code portion that should be used to declare the specified field.
  • Access: protected

Parameters:

string   $name     name the field to be declared.
array   $field     

associative array with the name of the properties of the field being declared as array indexes. Currently, the types of supported field properties are as follows:

default Timestamp value to be used as default for this field.

notnull Boolean flag that indicates whether this field is constrained to not be set to null.


[ Top ]

_mapNativeDatatype   [line 1808]

array _mapNativeDatatype( array $field)

Maps a native array description of a field to a MDB2 datatype and length
  • Return: containing the various possible types, length, sign, fixed
  • Access: public

Parameters:

array   $field     native field description

[ Top ]

_quoteBLOB   [line 1346]

string _quoteBLOB( string $value, bool $quote, bool $escape_wildcards)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

_quoteBoolean   [line 1365]

string _quoteBoolean( string $value, bool $quote, bool $escape_wildcards)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

_quoteCLOB   [line 1327]

string _quoteCLOB( string $value, bool $quote, bool $escape_wildcards)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

_quoteDate   [line 1384]

string _quoteDate( string $value, bool $quote, bool $escape_wildcards)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

_quoteDecimal   [line 1498]

string _quoteDecimal( string $value, bool $quote, bool $escape_wildcards)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

_quoteFloat   [line 1471]

string _quoteFloat( string $value, bool $quote, bool $escape_wildcards)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

_quoteInteger   [line 1205]

string _quoteInteger( string $value, bool $quote, bool $escape_wildcards)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

_quoteLOB   [line 1298]

string _quoteLOB( string $value, bool $quote, bool $escape_wildcards)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

_quoteText   [line 1224]

string _quoteText( string $value, bool $quote, bool $escape_wildcards)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that already contains any DBMS specific escaped character sequences.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

_quoteTime   [line 1442]

string _quoteTime( string $value, bool $quote, bool $escape_wildcards)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

_quoteTimestamp   [line 1413]

string _quoteTimestamp( string $value, bool $quote, bool $escape_wildcards)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.
bool   $quote     determines if the value should be quoted and escaped
bool   $escape_wildcards     if to escape escape wildcards

[ Top ]

_readFile   [line 1254]

string _readFile( string $value)

Convert a text value into a DBMS specific format that is suitable to compose query statements.
  • Return: text string that represents the given argument value in a DBMS specific format.
  • Access: protected

Parameters:

string   $value     text string value that is intended to be converted.

[ Top ]

_readLOB   [line 1595]

mixed _readLOB( resource $lob, integer $length, string $data)

Read data from large object input stream.
  • Return: the effective number of bytes read from the large object input stream on sucess or an MDB2 error object.
  • See: endOfLOB()
  • Access: public

Parameters:

resource   $lob     stream handle
string   $data     reference to a variable that will hold data to be read from the large object input stream
integer   $length     value that indicates the largest ammount ofdata to be read from the large object input stream.

[ Top ]

_retrieveLOB   [line 1570]

mixed _retrieveLOB( &$lob, array $lob)

retrieve LOB from the database
  • Return: MDB2_OK on success, a MDB2 error on failure
  • Access: protected

Parameters:

array   $lob     array
   &$lob     

[ Top ]

_sortResultFieldTypes   [line 296]

mixed _sortResultFieldTypes( $columns, array $types, array $row, bool $rtrim)

convert a result row
  • Return: MDB2_OK on success, a MDB2 error on failure
  • Access: public

Parameters:

array   $types     
array   $row     specifies the types to convert to
bool   $rtrim     if to rtrim text values or not
   $columns     

[ Top ]


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