include/database/MysqlManager.php
\MysqlManager
MySQL manager implementation for mysql extension
- Parent(s)
- \DBManager
- Children
- \MysqliManager
Properties

$capabilities= 'array(
"affected_rows" => true,
"select_rows" => true,
"inline_keys" => true,
"create_user" => true,
"fulltext" => true,
"collation" => true,
"create_db" => true,
"disable_keys" => true,
)'
Capabilities this DB supports. Supported list: affected_rows Can report query affected rows for UPDATE/DELETE implement getAffectedRowCount() select_rows Can report row count for SELECT implement getRowCount() case_sensitive Supports case-sensitive text columns fulltext Supports fulltext search indexes inline_keys Supports defining keys together with the table auto_increment_sequence Autoincrement support implemented as sequence limit_subquery Supports LIMIT clauses in subqueries create_user Can create users for Sugar create_db Can create databases collation Supports setting collations disable_keys Supports temporarily disabling keys (for upgrades, etc.)
array(
"affected_rows" => true,
"select_rows" => true,
"inline_keys" => true,
"create_user" => true,
"fulltext" => true,
"collation" => true,
"create_db" => true,
"disable_keys" => true,
)Details- Type
- n/a

resource
$database= 'null'
nullDetails- Type
- resource
- Inherited_from
- \DBManager::$$database

$dieOnError= 'false'
Indicates whether we should die when we get an error from the DB
Inherited from: \DBManager::$$dieOnErrorfalseDetails- Type
- n/a
- Inherited_from
- \DBManager::$$dieOnError

$encode= 'true'
Indicates whether we should html encode the results from a query by default
Inherited from: \DBManager::$$encodetrueDetails- Type
- n/a
- Inherited_from
- \DBManager::$$encode

array
$index_descriptions= 'array()'
array()Details- Type
- array
- Inherited_from
- \DBManager::$$index_descriptions

string
$label= ''LBL_MYSQL''
Driver name label, for install
'LBL_MYSQL'Details- Type
- string

array
$maxNameLengths= 'array(
'table' => 64,
'column' => 64,
'index' => 64,
'alias' => 256
)'
Maximum length of identifiers
array(
'table' => 64,
'column' => 64,
'index' => 64,
'alias' => 256
)Details- Type
- array

array
$options= 'array()'
array()Details- Type
- array
- Inherited_from
- \DBManager::$$options

$preparedTokens= 'array()'
Array of prepared statements and their correspoding parsed tokens
Inherited from: \DBManager::$$preparedTokensarray()Details- Type
- n/a
- Inherited_from
- \DBManager::$$preparedTokens

int
$priority= '0'
DB driver priority Higher priority drivers override lower priority ones
Inherited from: \DBManager::$$priority0Details- Type
- int
- Inherited_from
- \DBManager::$$priority

$standardQueries= 'array(
'ALTER TABLE' => 'verifyAlterTable',
'DROP TABLE' => 'verifyDropTable',
'CREATE TABLE' => 'verifyCreateTable',
'INSERT INTO' => 'verifyInsertInto',
'UPDATE' => 'verifyUpdate',
'DELETE FROM' => 'verifyDeleteFrom',
)'
array(
'ALTER TABLE' => 'verifyAlterTable',
'DROP TABLE' => 'verifyDropTable',
'CREATE TABLE' => 'verifyCreateTable',
'INSERT INTO' => 'verifyInsertInto',
'UPDATE' => 'verifyUpdate',
'DELETE FROM' => 'verifyDeleteFrom',
)Details- Type
- n/a
- Inherited_from
- \DBManager::$$standardQueries

array
$table_descriptions= 'array()'
array()Details- Type
- array
- Inherited_from
- \DBManager::$$table_descriptions

array
$type_class= 'array(
'int' => 'int',
'double' => 'float',
'float' => 'float',
'uint' => 'int',
'ulong' => 'bigint',
'long' => 'bigint',
'short' => 'int',
'date' => 'date',
'datetime' => 'date',
'datetimecombo' => 'date',
'time' => 'time',
'bool' => 'bool',
'tinyint' => 'int',
'currency' => 'float',
'decimal' => 'float',
'decimal2' => 'float',
)'
Type classification into: - int - bool - float - date
Inherited from: \DBManager::$$type_classarray(
'int' => 'int',
'double' => 'float',
'float' => 'float',
'uint' => 'int',
'ulong' => 'bigint',
'long' => 'bigint',
'short' => 'int',
'date' => 'date',
'datetime' => 'date',
'datetimecombo' => 'date',
'time' => 'time',
'bool' => 'bool',
'tinyint' => 'int',
'currency' => 'float',
'decimal' => 'float',
'decimal2' => 'float',
)Details- Type
- array
- Abstract
- Inherited_from
- \DBManager::$$type_class

array
$type_map= 'array(
'int' => 'int',
'double' => 'double',
'float' => 'float',
'uint' => 'int unsigned',
'ulong' => 'bigint unsigned',
'long' => 'bigint',
'short' => 'smallint',
'varchar' => 'varchar',
'text' => 'text',
'longtext' => 'longtext',
'date' => 'date',
'enum' => 'varchar',
'relate' => 'varchar',
'multienum'=> 'text',
'html' => 'text',
'longhtml' => 'longtext',
'datetime' => 'datetime',
'datetimecombo' => 'datetime',
'time' => 'time',
'bool' => 'bool',
'tinyint' => 'tinyint',
'char' => 'char',
'blob' => 'blob',
'longblob' => 'longblob',
'currency' => 'decimal(26,6)',
'decimal' => 'decimal',
'decimal2' => 'decimal',
'id' => 'char(36)',
'url' => 'varchar',
'encrypt' => 'varchar',
'file' => 'varchar',
'decimal_tpl' => 'decimal(%d, %d)',
)'
Type names map
array(
'int' => 'int',
'double' => 'double',
'float' => 'float',
'uint' => 'int unsigned',
'ulong' => 'bigint unsigned',
'long' => 'bigint',
'short' => 'smallint',
'varchar' => 'varchar',
'text' => 'text',
'longtext' => 'longtext',
'date' => 'date',
'enum' => 'varchar',
'relate' => 'varchar',
'multienum'=> 'text',
'html' => 'text',
'longhtml' => 'longtext',
'datetime' => 'datetime',
'datetimecombo' => 'datetime',
'time' => 'time',
'bool' => 'bool',
'tinyint' => 'tinyint',
'char' => 'char',
'blob' => 'blob',
'longblob' => 'longblob',
'currency' => 'decimal(26,6)',
'decimal' => 'decimal',
'decimal2' => 'decimal',
'id' => 'char(36)',
'url' => 'varchar',
'encrypt' => 'varchar',
'file' => 'varchar',
'decimal_tpl' => 'decimal(%d, %d)',
)Details- Type
- array
Methods

__get(
string $p
)
:
mixedWrapper for those trying to access the private and protected class members directly
Inherited from: \DBManager::__get()| Name | Type | Description |
|---|---|---|
| $p | string | var name |
| Type | Description |
|---|---|
| mixed |

_emptyValue(
mixed $val, string $type
)
:
bool
| Name | Type | Description |
|---|---|---|
| $val | mixed | Value |
| $type | string | Type (one of vardef types) |
| Type | Description |
|---|---|
| bool | true if the value if empty |

_getBooleanValue(
mixed $val
)
:
boolGet truth value for boolean type Allows 'off' to mean false, along with all 'empty' values
Inherited from: \DBManager::_getBooleanValue()| Name | Type | Description |
|---|---|---|
| $val | mixed |
| Type | Description |
|---|---|
| bool |

addColumn(
string $tablename, array $fieldDefs
)
:
bool
| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $fieldDefs | array |
| Type | Description |
|---|---|
| bool | query result |

addColumnSQL(
string $tablename, array $fieldDefs
)
:
stringThis method generates sql for adding a column to table identified by field def.
Inherited from: \DBManager::addColumnSQL()| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $fieldDefs | array |
| Type | Description |
|---|---|
| string | SQL statement |

addDistinctClause(
string $sql
)
:
voidaddDistinctClause This method takes a SQL statement and checks if the disable_count_query setting is enabled before altering it. The alteration modifies the way the team security queries are made by changing it from a subselect to a distinct clause; hence the name of the method.
Inherited from: \DBManager::addDistinctClause()| Name | Type | Description |
|---|---|---|
| $sql | string | value of SQL statement to alter |

addIndexes(
string $tablename, array $indexes, bool $execute
=
true
)
:
string
| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $indexes | array | indexes to add |
| $execute | bool | true if we want to execute the returned sql statement |
| Type | Description |
|---|---|
| string | SQL statement |

add_drop_constraint(
string $table, array $definition, bool $drop
=
false
)
:
stringGenerates alter constraint statement given a table name and vardef definition.
Supports both adding and droping a constraint.
| Name | Type | Description |
|---|---|---|
| $table | string | tablename |
| $definition | array | field definition |
| $drop | bool | true if we are dropping the constraint, false if we are adding it |
| Type | Description |
|---|---|
| string | SQL statement |

alterColumn(
string $tablename, array $newFieldDef, bool $ignoreRequired
=
false
)
:
boolAlters old column identified by oldFieldDef to new fieldDef.
Inherited from: \DBManager::alterColumn()| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $newFieldDef | array | |
| $ignoreRequired | bool | optional, true if we are ignoring this being a required field |
| Type | Description |
|---|---|
| bool | query result |

alterColumnSQL(
string $tablename, array $newFieldDefs, bool $ignorerequired
=
false
)
:
string | arrayThis method genrates sql for altering old column identified by oldFieldDef to new fieldDef.
Inherited from: \DBManager::alterColumnSQL()| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $newFieldDefs | array | |
| $ignorerequired | bool | Optional, true if we should ignor this being a required field |
| Type | Description |
|---|---|
| string | array | SQL statement(s) |

arrayQuote(
array $array
)
:
array
The array must only contain strings
| Name | Type | Description |
|---|---|---|
| $array | array |
| Type | Description |
|---|---|
| array | Quoted strings |

auditSQL(
\SugarBean $bean, array $changes
)
:
string
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean that was changed |
| $changes | array | List of changes, contains 'before' and 'after' |
| Type | Description |
|---|---|
| string | Audit table INSERT query |

changeColumnSQL(
string $tablename, array $fieldDefs, string $action, bool $ignoreRequired
=
false
)
:
string | arrayGenerates the SQL for changing columns
| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $fieldDefs | array | |
| $action | string | |
| $ignoreRequired | bool | Optional, true if we should ignor this being a required field |
| Type | Description |
|---|---|
| string | array |

checkConnection(
)
:
voidChecks the current connection; if it is not connected then reconnect
Inherited from: \DBManager::checkConnection()
checkError(
string $msg
=
'', bool $dieOnError
=
false
)
:
bool
| Name | Type | Description |
|---|---|---|
| $msg | string | message to prepend to the error message |
| $dieOnError | bool | true if we want to die immediately on error |
| Type | Description |
|---|---|
| bool | True if there was an error |

checkPrivilege(
string $privilege
)
:
boolCheck if connecting user has certain privilege
Inherited from: \DBManager::checkPrivilege()| Name | Type | Description |
|---|---|---|
| $privilege | string |
| Type | Description |
|---|---|
| bool | Privilege allowed? |

checkQuery(
string $sql
)
:
boolScans order by to ensure that any field being ordered by is.
It will throw a warning error to the log file - fatal if slow query logging is enabled
| Name | Type | Description |
|---|---|---|
| $sql | string | query to be run |
| Type | Description |
|---|---|
| bool | true if an index is found false otherwise |

columnSQLRep(
array $fieldDefs, bool $ignoreRequired
=
false, string $tablename
)
:
stringReturns SQL defintions for all columns in a table
Inherited from: \DBManager::columnSQLRep()| Name | Type | Description |
|---|---|---|
| $fieldDefs | array | Vardef-format field def |
| $ignoreRequired | bool | Optional, true if we should ignor this being a required field |
| $tablename | string | Optional, table name |
| Type | Description |
|---|---|
| string | SQL column definitions |

commit(
)
:
boolCommits pending changes to the database when the driver is setup to support transactions.
Inherited from: \DBManager::commit()Note that the default implementation is applicable for transaction-less or auto commit scenarios.
| Type | Description |
|---|---|
| bool | true if commit succeeded, false if it failed |
- Abstract

compareFieldInTables(
string $name, string $table1, string $table2
)
:
array
| Name | Type | Description |
|---|---|---|
| $name | string | field name |
| $table1 | string | |
| $table2 | string |
| Type | Description |
|---|---|
| array | array with keys 'msg','table1','table2' |

compareVarDefs(
array $fielddef1, array $fielddef2, bool $ignoreName
=
false
)
:
bool
| Name | Type | Description |
|---|---|---|
| $fielddef1 | array | This is from the database |
| $fielddef2 | array | This is from the vardef |
| $ignoreName | bool | Ignore name-only differences? |
| Type | Description |
|---|---|
| bool | true if they match, false if they don't |

concat(
string $table, array $fields, string $space
=
' '
)
:
stringReturns the database string needed for concatinating multiple database strings together
Inherited from: \DBManager::concat()| Name | Type | Description |
|---|---|---|
| $table | string | table name of the database fields to concat |
| $fields | array | fields in the table to concat together |
| $space | string | Separator between strings, default is single space |
| Type | Description |
|---|---|
| string |

connect(
array $configOptions
=
null, boolean $dieOnError
=
false
)
:
voidConnects to the database backend
Takes in the database settings and opens a database connection based on those will open either a persistent or non-persistent connection. If a persistent connection is desired but not available it will defualt to non-persistent
configOptions must include db_host_name - server ip db_user_name - database user name db_password - database password
| Name | Type | Description |
|---|---|---|
| $configOptions | array | |
| $dieOnError | boolean |

convert(
string $string, string $type, array $additional_parameters
=
array()
)
:
stringUse when you need to convert a database string to a different value; this function does it in a database-backend aware way Supported conversions: today return current date left Take substring from the left date_format Format date as string, supports %Y-%m-%d, %Y-%m, %Y time_format Format time as string date Convert date string to datetime value time Convert time string to datetime value datetime Convert datetime string to datetime value ifnull If var is null, use default value concat Concatenate strings quarter Quarter number of the date length Length of string month Month number of the date add_date Add specified interval to a date add_time Add time interval to a date text2char Convert text field to varchar
| Name | Type | Description |
|---|---|---|
| $string | string | database string to convert |
| $type | string | type of conversion to do |
| $additional_parameters | array | optional, additional parameters to pass to the db function |
| Type | Description |
|---|---|
| string |

countQuery(
)
:
voidThis function increments the global $sql_queries variable
Inherited from: \DBManager::countQuery()
createConstraintSql(
\SugarBean $bean
)
:
arrayreturns SQL to create constraints or indices
Inherited from: \DBManager::createConstraintSql()| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| Type | Description |
|---|---|
| array | list of SQL statements |

createDatabase(
string $dbname
)
:
voidCreate a database
| Name | Type | Description |
|---|---|---|
| $dbname | string |

createDbUser(
string $database_name, string $host_name, string $user, string $password
)
:
voidCreate DB user
| Name | Type | Description |
|---|---|---|
| $database_name | string | |
| $host_name | string | |
| $user | string | |
| $password | string |

createIndex(
\SugarBean $bean, array $fieldDefs, string $name, bool $unique
=
true
)
:
boolCreates an index identified by name on the given fields.
Inherited from: \DBManager::createIndex()| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| $fieldDefs | array | Field definitions, in vardef format |
| $name | string | index name |
| $unique | bool | optional, true if we want to create an unique index |
| Type | Description |
|---|---|
| bool | query result |

createIndexSQL(
\SugarBean $bean, array $fields, string $name, bool $unique
=
true
)
:
stringGenerates SQL for create index statement for a bean.
Inherited from: \DBManager::createIndexSQL()| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| $fields | array | fields used in the index |
| $name | string | index name |
| $unique | bool | Optional, set to true if this is an unique index |
| Type | Description |
|---|---|
| string | SQL Select Statement |

createTable(
\SugarBean $bean
)
:
void
NOTE: does not handle out-of-table constraints, use createConstraintSQL for that
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | Sugarbean instance |

createTableParams(
string $tablename, array $fieldDefs, array $indices, string $engine
=
null
)
:
bool
| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $fieldDefs | array | Field definitions, in vardef format |
| $indices | array | Index definitions, in vardef format |
| $engine | string | Engine parameter, used for MySQL engine so far |
| Type | Description |
|---|---|
| bool | success value |

createTableSQL(
\SugarBean $bean
)
:
stringGenerates sql for create table statement for a bean.
NOTE: does not handle out-of-table constraints, use createConstraintSQL for that
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| Type | Description |
|---|---|
| string | SQL Create Table statement |

createTableSQLParams(
string $tablename, array $fieldDefs, array $indices, string $engine
=
null
)
:
stringGenerates sql for create table statement for a bean.
| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $fieldDefs | array | |
| $indices | array | |
| $engine | string | optional, MySQL engine to use |
| Type | Description |
|---|---|
| string | SQL Create Table statement |

dbExists(
string $dbname
)
:
voidCheck if certain database exists
| Name | Type | Description |
|---|---|---|
| $dbname | string |

delete(
\SugarBean $bean, array $where
=
array()
)
:
boolImplements a generic delete for any bean identified by id
Inherited from: \DBManager::delete()| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | Sugarbean instance |
| $where | array | values with the keys as names of fields. If we want to pass multiple values for a name, pass it as an array If where is not passed, it defaults to id of table |
| Type | Description |
|---|---|
| bool | query result |

deleteAutoIncrement(
string $table, string $field_name
)
:
void
| Name | Type | Description |
|---|---|---|
| $table | string | tablename |
| $field_name | string |
- Abstract

deleteColumn(
\SugarBean $bean, array $fieldDefs
)
:
bool
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean containing the field |
| $fieldDefs | array | Vardef definition of the field |
| Type | Description |
|---|---|
| bool | query result |

deleteColumnSQL(
\SugarBean $bean, array $fieldDefs
)
:
stringThis method generates sql that deletes a column identified by fieldDef.
Inherited from: \DBManager::deleteColumnSQL()| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | Sugarbean instance |
| $fieldDefs | array |
| Type | Description |
|---|---|
| string | SQL statement |

deleteSQL(
\SugarBean $bean, array $where
)
:
stringGenerates SQL for delete statement identified by id.
Inherited from: \DBManager::deleteSQL()| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| $where | array | where conditions in an array |
| Type | Description |
|---|---|
| string | SQL Update Statement |

describeField(
string $name, string $tablename
)
:
arrayReturns the field description for a given field in table
Inherited from: \DBManager::describeField()| Name | Type | Description |
|---|---|---|
| $name | string | |
| $tablename | string |
| Type | Description |
|---|---|
| array |

describeIndex(
string $name, string $tablename
)
:
arrayReturns the index description for a given index in table
Inherited from: \DBManager::describeIndex()| Name | Type | Description |
|---|---|---|
| $name | string | |
| $tablename | string |
| Type | Description |
|---|---|
| array |

disableKeys(
string $tableName
)
:
voidDisable keys on the table
| Name | Type | Description |
|---|---|---|
| $tableName | string |
- Abstract

dropColumnSQL(
string $tablename, array $fieldDefs
)
:
stringThis method generates sql that drops a column identified by fieldDef.
Inherited from: \DBManager::dropColumnSQL()Designed to work like the other addColumnSQL() and alterColumnSQL() functions
| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $fieldDefs | array |
| Type | Description |
|---|---|
| string | SQL statement |

dropDatabase(
string $dbname
)
:
voidDrop a database
| Name | Type | Description |
|---|---|---|
| $dbname | string |

dropIndexes(
string $tablename, array $indexes, bool $execute
=
true
)
:
stringDrops indexes
| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $indexes | array | indexes to drop |
| $execute | bool | true if we want to execute the returned sql statement |
| Type | Description |
|---|---|
| string | SQL statement |

dropTable(
\SugarBean $bean
)
:
bool
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| Type | Description |
|---|---|
| bool | query result |

dropTableName(
string $name
)
:
bool
| Name | Type | Description |
|---|---|---|
| $name | string | Table name |
| Type | Description |
|---|---|
| bool | query result |

dropTableNameSQL(
string $name
)
:
stringGenerates SQL for dropping a table.
| Name | Type | Description |
|---|---|---|
| $name | string | table name |
| Type | Description |
|---|---|
| string | SQL statement |

dropTableSQL(
\SugarBean $bean
)
:
string
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | Sugarbean instance |
| Type | Description |
|---|---|
| string | SQL statement |

dump_slow_queries(
string $query
)
:
booleanThis method is called by every method that runs a query.
Inherited from: \DBManager::dump_slow_queries()If slow query dumping is turned on and the query time is beyond the time limit, we will log the query. This function may do additional reporting or log in a different area in the future.
| Name | Type | Description |
|---|---|---|
| $query | string | query to log |
| Type | Description |
|---|---|
| boolean | true if the query was logged, false otherwise |

emptyValue(
string $type
)
:
mixedReturn representation of an empty value depending on type The value is fully quoted, converted, etc.
| Name | Type | Description |
|---|---|---|
| $type | string |
| Type | Description |
|---|---|
| mixed | Empty value |

enableKeys(
string $tableName
)
:
voidRe-enable keys on the table
| Name | Type | Description |
|---|---|---|
| $tableName | string |
- Abstract

escape_quote(
string $string
)
:
string
| Name | Type | Description |
|---|---|---|
| $string | string |
| Type | Description |
|---|---|
| string |

executePreparedQuery(
int $stmt, array $data
=
array()
)
:
resourceTakes a prepared stmt index and the data to replace and creates the query and runs it.
Inherited from: \DBManager::executePreparedQuery()| Name | Type | Description |
|---|---|---|
| $stmt | int | The index of the prepared statement from preparedTokens |
| $data | array | The array of data to replace the tokens with. |
| Type | Description |
|---|---|
| resource | result set or false on error |

extractTableName(
string $query
)
:
string
| Name | Type | Description |
|---|---|---|
| $query | string | SQL query |
| Type | Description |
|---|---|
| string |

fetchByAssoc(
resource $result, bool $encode
=
true
)
:
arrayFetches the next row in the query result into an associative array
Inherited from: \DBManager::fetchByAssoc()| Name | Type | Description |
|---|---|---|
| $result | resource | |
| $encode | bool | Need to HTML-encode the result? |
| Type | Description |
|---|---|
| array | returns false if there are no more rows available to fetch |

fetchOne(
string $sql, bool $dieOnError
=
false, string $msg
=
'', bool $suppress
=
false
)
:
arrayRuns a query and returns a single row
| Name | Type | Description |
|---|---|---|
| $sql | string | SQL Statement to execute |
| $dieOnError | bool | True if we want to call die if the query returns errors |
| $msg | string | Message to log if error occurs |
| $suppress | bool | Message to log if error occurs |
| Type | Description |
|---|---|
| array | single row from the query |

fetchRow(
resource $result
)
:
arrayFetches the next row in the query result into an associative array
| Name | Type | Description |
|---|---|---|
| $result | resource |
| Type | Description |
|---|---|
| array | returns false if there are no more rows available to fetch |

freeDbResult(
resource $dbResult
)
:
voidFree Database result
| Name | Type | Description |
|---|---|---|
| $dbResult | resource |

freeResult(
resource | bool $result
=
false
)
:
void
| Name | Type | Description |
|---|---|---|
| $result | resource | bool | optional, pass if you want to free a single result instead of all results |

fromConvert(
string $string, string $type
)
:
string(non-PHPdoc)
Supported types - date - time - datetime - datetimecombo - timestamp
| Name | Type | Description |
|---|---|---|
| $string | string | database string to convert |
| $type | string | type of conversion to do |
| Type | Description |
|---|---|
| string |

full_text_indexing_installed(
$dbname
=
null
)
:
boolCheck if the database supports fulltext indexing Note that database driver can be capable of supporting FT (see supports('fulltext)) but particular instance can still have it disabled
| Name | Type | Description |
|---|---|---|
| $dbname |
| Type | Description |
|---|---|
| bool |

generateInsertSQL(
\SugarBean $bean, string $select_query, int $start, int $count
=
-1, string $table, bool $is_related_query
=
false
)
:
stringGenerate a set of Insert statements based on the bean given
Inherited from: \DBManager::generateInsertSQL()| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | the bean from which table we will generate insert stmts |
| $select_query | string | the query which will give us the set of objects we want to place into our insert statement |
| $start | int | the first row to query |
| $count | int | the number of rows to query |
| $table | string | the table to query from |
| $is_related_query | bool |
| Type | Description |
|---|---|
| string | SQL insert statement |

getAffectedRowCount(
$result
)
:
intReturns the number of rows affected by the last query
| Name | Type | Description |
|---|---|---|
| $result |
| Type | Description |
|---|---|
| int |

getAutoIncrement(
string $table, string $field_name
)
:
stringReturns the next value for an auto increment
| Name | Type | Description |
|---|---|---|
| $table | string | tablename |
| $field_name | string |
| Type | Description |
|---|---|
| string |

getAutoIncrementSQL(
string $table, string $field_name
)
:
stringReturns the sql for the next value in a sequence
Inherited from: \DBManager::getAutoIncrementSQL()| Name | Type | Description |
|---|---|---|
| $table | string | Table name |
| $field_name | string | Field name |
| Type | Description |
|---|---|
| string |
- Abstract

getColumnType(
string $type
)
:
stringReturns the valid type for a column given the type in fieldDef
Inherited from: \DBManager::getColumnType()| Name | Type | Description |
|---|---|---|
| $type | string | field type |
| Type | Description |
|---|---|
| string | valid type for the given field |

getColumnWhereClause(
string $table, array $whereArray
=
array()
)
:
stringReturns a where clause without the 'where' key word
Inherited from: \DBManager::getColumnWhereClause()The clause returned does not have an 'and' at the beginning and the columns are joined by 'and'.
| Name | Type | Description |
|---|---|---|
| $table | string | table name |
| $whereArray | array | Optional, where conditions in an array |
| Type | Description |
|---|---|
| string |

getConstraintSql(
array $indices, string $table
)
:
arrayreturns a SQL query that creates the indices as defined in metadata
Inherited from: \DBManager::getConstraintSql()| Name | Type | Description |
|---|---|---|
| $indices | array | Assoc array with index definitions from vardefs |
| $table | string | Focus table |
| Type | Description |
|---|---|
| array | Array of SQL queries to generate indices |

getDataChanges(
\SugarBean $bean
)
:
arrayUses the audit enabled fields array to find fields whose value has changed.
Inherited from: \DBManager::getDataChanges()The before and after values are stored in the bean. Uses $bean->fetched_row to compare
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | Sugarbean instance that was changed |
| Type | Description |
|---|---|
| array |

getDbInfo(
)
:
array | nullGet database configuration information (DB-dependent)
| Type | Description |
|---|---|
| array | null |

getEngine(
object $bean
)
:
stringReturns the name of the engine to use or null if we are to use the default
| Name | Type | Description |
|---|---|---|
| $bean | object | SugarBean instance |
| Type | Description |
|---|---|
| string |

getFieldNameFromSelect(
string $string
)
:
stringreturns the field name used in a select
Inherited from: \DBManager::getFieldNameFromSelect()| Name | Type | Description |
|---|---|---|
| $string | string | SELECT query |
| Type | Description |
|---|---|
| string |

getFieldType(
array $fieldDef
)
:
string
| Name | Type | Description |
|---|---|---|
| $fieldDef | array | Vardef-format field def |
| Type | Description |
|---|---|
| string |

getFieldsArray(
resource $result, boolean $make_lower_case
=
false
)
:
arrayReturns the description of fields based on the result
| Name | Type | Description |
|---|---|---|
| $result | resource | |
| $make_lower_case | boolean |
| Type | Description |
|---|---|
| array | field array |

getFromDummyTable(
)
:
stringReturns a DB specific FROM clause which can be used to select against functions.
Note that depending on the database that this may also be an empty string.
| Type | Description |
|---|---|
| string |

getFulltextQuery(
$field, array $terms, array $must_terms
=
array(), array $exclude_terms
=
array()
)
:
voidGenerate fulltext query from set of terms
| Name | Type | Description |
|---|---|---|
| $field | ||
| $terms | array | Search terms that may be or not be in the result |
| $must_terms | array | Search terms that have to be in the result |
| $exclude_terms | array | Search terms that have to be not in the result |

getGuidSQL(
)
:
stringReturns a DB specific piece of SQL which will generate GUID (UUID) This string can be used in dynamic SQL to do multiple inserts with a single query.
I.e. generate a unique Sugar id in a sub select of an insert statement.
| Type | Description |
|---|---|
| string |

getHelper(
)
:
\DBManagerReturns this instance's DBHelper Actually now returns $this
Inherited from: \DBManager::getHelper()| Type | Description |
|---|---|
| \DBManager |

getOne(
string $sql, bool $dieOnError
=
false, string $msg
=
''
)
:
arrayRuns a query and returns a single row containing single value
Inherited from: \DBManager::getOne()| Name | Type | Description |
|---|---|---|
| $sql | string | SQL Statement to execute |
| $dieOnError | bool | True if we want to call die if the query returns errors |
| $msg | string | Message to log if error occurs |
| Type | Description |
|---|---|
| array | single value from the query |

getOption(
string $option
)
:
mixed
| Name | Type | Description |
|---|---|---|
| $option | string | Option name |
| Type | Description |
|---|---|
| mixed | Option value or null if doesn't exist |

getRowCount(
resource $result
)
:
intReturns the number of rows returned by the result
This function can't be reliably implemented on most DB, do not use it.
| Name | Type | Description |
|---|---|---|
| $result | resource |
| Type | Description |
|---|---|
| int |
- Abstract
- Deprecated

getScriptName(
)
:
stringGet DB driver name used for install/upgrade scripts
Inherited from: \DBManager::getScriptName()| Type | Description |
|---|---|
| string |

getSelectFieldsFromQuery(
string $selectStatement
)
:
arrayTake an SQL statement and produce a list of fields used in that select
Inherited from: \DBManager::getSelectFieldsFromQuery()| Name | Type | Description |
|---|---|---|
| $selectStatement | string |
| Type | Description |
|---|---|
| array |

getTableDescription(
string $tablename, bool $reload
=
false
)
:
array
| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $reload | bool | true means load from DB, false allows using cache |
| Type | Description |
|---|---|
| array | Vardef-format table description |

getTablesArray(
)
:
array | falseReturns an array of tables for this database
| Type | Description |
|---|---|
| array | false | an array of with table names, false if no tables found |

getTypeParts(
string $type
)
:
array | boolretrieves the different components from the passed column type as it is used in the type mapping and vardefs
type format:
| Name | Type | Description |
|---|---|---|
| $type | string | Column type |
| Type | Description |
|---|---|
| array | bool | array containing the different components of the passed in type or false in case the type contains illegal characters |

getValidDBName(
string | array $name, bool | string $ensureUnique
=
false, string $type
=
'column', bool $force
=
false
)
:
string | arrayReturn a version of $proposed that can be used as a column name in any of our supported databases Practically this means no longer than 25 characters as the smallest identifier length for our supported DBs is 30 chars for Oracle plus we add on at least four characters in some places (for indicies for example)
Inherited from: \DBManager::getValidDBName()| Name | Type | Description |
|---|---|---|
| $name | string | array | Proposed name for the column |
| $ensureUnique | bool | string | Ensure the name is unique |
| $type | string | Name type (table, column) |
| $force | bool | Force new name |
| Type | Description |
|---|---|
| string | array | Valid column name trimmed to right length and with invalid characters removed |

getWhereClause(
\SugarBean $bean, array $whereArray
=
array()
)
:
stringThis method returns a complete where clause built from the where values specified.
Inherited from: \DBManager::getWhereClause()| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean that describes the table |
| $whereArray | array | Optional, where conditions in an array |
| Type | Description |
|---|---|
| string |

get_columns(
string $tablename
)
:
arrayReturns definitions of all indies for passed table.
return will is a multi-dimensional array that categorizes the index definition by types, unique, primary and index.
array (
'name' => 'field1',
'type' => 'varchar',
'len' => '200'
)
)
?>
This format is similar to how indicies are defined in vardef file.
| Name | Type | Description |
|---|---|---|
| $tablename | string |
| Type | Description |
|---|---|
| array |

get_indices(
string $tablename
)
:
arrayReturns definitions of all indies for passed table.
return will is a multi-dimensional array that categorizes the index definition by types, unique, primary and index.
array (
'name' => 'index1',
'type' => 'primary',
'fields' => array('field1','field2')
)
)
?>
This format is similar to how indicies are defined in vardef file.
| Name | Type | Description |
|---|---|---|
| $tablename | string |
| Type | Description |
|---|---|
| array |

hasLimit(
string $sql
)
:
bool| Name | Type | Description |
|---|---|---|
| $sql | string |
| Type | Description |
|---|---|
| bool |
- Abstract
- Check if query has LIMIT clause Relevant for now only for Mysql

insert(
\SugarBean $bean
)
:
bool
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| Type | Description |
|---|---|
| bool | query result |

insertParams(
string $table, array $field_defs, array $data, array $field_map
=
null, bool $execute
=
true
)
:
bool
| Name | Type | Description |
|---|---|---|
| $table | string | Table name |
| $field_defs | array | Definitions in vardef-like format |
| $data | array | Key/value to insert |
| $field_map | array | Fields map from SugarBean |
| $execute | bool | Execute or return query? |
| Type | Description |
|---|---|
| bool | query result |

insertSQL(
\SugarBean $bean
)
:
string
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| Type | Description |
|---|---|
| string | SQL Create Table statement |

isBooleanType(
string $type
)
:
bool
| Name | Type | Description |
|---|---|---|
| $type | string |
| Type | Description |
|---|---|
| bool |

isDatabaseNameValid(
string $name
)
:
bool
| Name | Type | Description |
|---|---|---|
| $name | string |
| Type | Description |
|---|---|
| bool |

isEngineEnabled(
string $engine
)
:
boolReturns true if the engine given is enabled in the backend
| Name | Type | Description |
|---|---|---|
| $engine | string |
| Type | Description |
|---|---|
| bool |

isFieldArray(
mixed $defArray
)
:
boolChecks to see if passed array is truely an array of defitions
Inherited from: \DBManager::isFieldArray()Such an array may have type as a key but it will point to an array for a true array of definitions an to a col type for a definition only
| Name | Type | Description |
|---|---|---|
| $defArray | mixed |
| Type | Description |
|---|---|
| bool |

isNullable(
array $vardef
)
:
boolCan this field be null? Auto-increment and ID fields can not be null
Inherited from: \DBManager::isNullable()| Name | Type | Description |
|---|---|---|
| $vardef | array |
| Type | Description |
|---|---|
| bool |

isNumericType(
string $type
)
:
bool
| Name | Type | Description |
|---|---|---|
| $type | string |
| Type | Description |
|---|---|
| bool |

isSelect(
string $query
)
:
bool
| Name | Type | Description |
|---|---|---|
| $query | string |
| Type | Description |
|---|---|
| bool | Is query SELECT? |

isTextType(
string $type
)
:
boolDoes this type represent text (i.e., non-varchar) value?
| Name | Type | Description |
|---|---|---|
| $type | string |
| Type | Description |
|---|---|
| bool |

keysSQL(
array $indices, bool $alter_table
=
false, string $alter_action
=
''
)
:
stringGenerates SQL for key specification inside CREATE TABLE statement
The passes array is an array of field definitions or a field definition itself. The keys generated will be either primary, foreign, unique, index or none at all depending on the setting of the "key" parameter of a field definition
| Name | Type | Description |
|---|---|---|
| $indices | array | |
| $alter_table | bool | |
| $alter_action | string |
| Type | Description |
|---|---|
| string | SQL Statement |

lastDbError(
)
:
string | false(non-PHPdoc)
| Type | Description |
|---|---|
| string | false | Error message or false if no error happened |

lastError(
)
:
stringReturn DB error message for the last query executed
Inherited from: \DBManager::lastError()| Type | Description |
|---|---|
| string | Last error message |

limitQuery(
string $sql, int $start, int $count, boolean $dieOnError
=
false, string $msg
=
'', bool $execute
=
true
)
:
resourceRuns a limit query: one where we specify where to start getting records and how many to get
| Name | Type | Description |
|---|---|---|
| $sql | string | SELECT query |
| $start | int | Starting row |
| $count | int | How many rows |
| $dieOnError | boolean | True if we want to call die if the query returns errors |
| $msg | string | Message to log if error occurs |
| $execute | bool | Execute or return SQL? |
| Type | Description |
|---|---|
| resource | query result |

limitQuerySql(
string $sql, int $start, int $count, bool $dieOnError
=
false, string $msg
=
''
)
:
resource | bool
| Name | Type | Description |
|---|---|---|
| $sql | string | |
| $start | int | |
| $count | int | |
| $dieOnError | bool | |
| $msg | string |
| Type | Description |
|---|---|
| resource | bool | query result |

massageFieldDef(
array $fieldDef, string $tablename
)
:
arrayMassages the field defintions to fill in anything else the DB backend may add
| Name | Type | Description |
|---|---|---|
| $fieldDef | array | |
| $tablename | string |
| Type | Description |
|---|---|
| array |

massageValue(
mixed $val, array $fieldDef
)
:
mixedOutputs a correct string for the sql statement according to value
Inherited from: \DBManager::massageValue()| Name | Type | Description |
|---|---|---|
| $val | mixed | |
| $fieldDef | array | field definition |
| Type | Description |
|---|---|
| mixed |

modifyIndexes(
string $tablename, array $indexes, bool $execute
=
true
)
:
string
| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $indexes | array | indexes to modify |
| $execute | bool | true if we want to execute the returned sql statement |
| Type | Description |
|---|---|
| string | SQL statement |

now(
)
:
stringReturn current time in format fit for insertion into DB (with quotes)
Inherited from: \DBManager::now()| Type | Description |
|---|---|
| string |

number_of_columns(
string $table_name
)
:
int
| Name | Type | Description |
|---|---|---|
| $table_name | string |
| Type | Description |
|---|---|
| int |

oneColumnSQLRep(
array $fieldDef, bool $ignoreRequired
=
false, string $table
=
'', bool $return_as_array
=
false
)
:
stringReturns the defintion for a single column
| Name | Type | Description |
|---|---|---|
| $fieldDef | array | Vardef-format field def |
| $ignoreRequired | bool | Optional, true if we should ignore this being a required field |
| $table | string | Optional, table name |
| $return_as_array | bool | Optional, true if we should return the result as an array instead of sql |
| Type | Description |
|---|---|
| string | or array if $return_as_array is true |

orderByEnum(
string $order_by, array $values, string $order_dir
)
:
string
| Name | Type | Description |
|---|---|---|
| $order_by | string | Field name |
| $values | array | Possible enum value |
| $order_dir | string | Order direction, ASC or DESC |
| Type | Description |
|---|---|
| string |

pQuery(
string $sql, array $data
=
array()
)
:
resourceRun both prepare and execute without the client having to run both individually.
Inherited from: \DBManager::pQuery()| Name | Type | Description |
|---|---|---|
| $sql | string | The sql to parse |
| $data | array | The array of data to replace the tokens with. |
| Type | Description |
|---|---|
| resource | result set or false on error |

parseFulltextQuery(
string $query
)
:
arrayParse fulltext search query with mysql syntax: terms quoted by "" + means the term must be included - means the term must be excluded * or % at the end means wildcard
Inherited from: \DBManager::parseFulltextQuery()| Name | Type | Description |
|---|---|---|
| $query | string |
| Type | Description |
|---|---|
| array | of 3 elements - query terms, mandatory terms and excluded terms |

postInstall(
)
:
void- Abstract
- Code run on new database after installing

prepareQuery(
string $sql
)
:
intGiven a sql stmt attempt to parse it into the sql and the tokens. Then return the index of this prepared statement Tokens can come in the following forms: ? - a scalar which will be quoted ! - a literal which will not be quoted & - binary data to read from a file
Inherited from: \DBManager::prepareQuery()| Name | Type | Description |
|---|---|---|
| $sql | string | The sql to parse |
| Type | Description |
|---|---|
| int | index of the prepared statement to be used with execute |

query(
string $sql, bool $dieOnError
=
false, string $msg
=
'', bool $suppress
=
false, bool $keepResult
=
false
)
:
resourceParses and runs queries
| Name | Type | Description |
|---|---|---|
| $sql | string | SQL Statement to execute |
| $dieOnError | bool | True if we want to call die if the query returns errors |
| $msg | string | Message to log if error occurs |
| $suppress | bool | Flag to suppress all error output unless in debug logging mode. |
| $keepResult | bool | True if we want to push this result into the $lastResult array. |
| Type | Description |
|---|---|
| resource | result set |

queryArray(
array $sqls, bool $dieOnError
=
false, string $msg
=
'', bool $suppress
=
false
)
:
resource | bool
| Name | Type | Description |
|---|---|---|
| $sqls | array | Queries |
| $dieOnError | bool | Die on error, passed to query() |
| $msg | string | Error message, passed to query() |
| $suppress | bool | Supress errors, passed to query() |
| Type | Description |
|---|---|
| resource | bool | result set or success/failure bool |

quote(
string $string
)
:
stringQuote string in DB-specific manner
| Name | Type | Description |
|---|---|---|
| $string | string |
| Type | Description |
|---|---|
| string |

quoteFormEmail(
string $string
)
:
string
| Name | Type | Description |
|---|---|---|
| $string | string |
| Type | Description |
|---|---|
| string |

quoteTerm(
\unknown_type $term
)
:
voidQuote MySQL search term
| Name | Type | Description |
|---|---|---|
| $term | \unknown_type |

quoteType(
string $type, string $value
)
:
stringQuote value according to type Numerics aren't quoted Dates are converted and quoted Rest is just quoted
Inherited from: \DBManager::quoteType()| Name | Type | Description |
|---|---|---|
| $type | string | |
| $value | string |
| Type | Description |
|---|---|
| string | Quoted value |

quoted(
string $string
)
:
string
| Name | Type | Description |
|---|---|---|
| $string | string |
| Type | Description |
|---|---|
| string |

registerError(
string $userMessage, string $message, bool $dieOnError
=
false
)
:
voidRegister database error If die-on-error flag is set, logs the message and dies, otherwise sets last_error to the message
Inherited from: \DBManager::registerError()| Name | Type | Description |
|---|---|---|
| $userMessage | string | Message from function user |
| $message | string | Message from SQL driver |
| $dieOnError | bool |

renameColumnSQL(
string $tablename, string $column, string $newname
)
:
void(non-PHPdoc)
| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $column | string | |
| $newname | string |

renameIndexDefs(
array $old_definition, array $new_definition, string $table_name
)
:
string
| Name | Type | Description |
|---|---|---|
| $old_definition | array | |
| $new_definition | array | |
| $table_name | string |
| Type | Description |
|---|---|
| string | SQL statement |

repairTable(
\SugarBean $bean, bool $execute
=
true
)
:
string
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| $execute | bool | true if we want the action to take place, false if we just want the sql returned |
| Type | Description |
|---|---|
| string | SQL statement or empty string, depending upon $execute |

repairTableParams(
string $tablename, array $fielddefs, array $indices, bool $execute
=
true, string $engine
=
null
)
:
stringBuilds the SQL commands that repair a table structure
| Name | Type | Description |
|---|---|---|
| $tablename | string | |
| $fielddefs | array | Field definitions, in vardef format |
| $indices | array | Index definitions, in vardef format |
| $execute | bool | optional, true if we want the queries executed instead of returned |
| $engine | string | optional, MySQL engine |
| Type | Description |
|---|---|
| string |

retrieve(
\SugarBean $bean, array $where
=
array()
)
:
resourceImplements a generic retrieve for any bean identified by id
Inherited from: \DBManager::retrieve()If we want to pass multiple values for a name, pass it as an array If where is not passed, it defaults to id of table
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | Sugarbean instance |
| $where | array | values with the keys as names of fields. |
| Type | Description |
|---|---|
| resource | result from the query |

retrieveSQL(
\SugarBean $bean, array $where
)
:
stringGenerates SQL for select statement for any bean identified by id.
Inherited from: \DBManager::retrieveSQL()| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| $where | array | where conditions in an array |
| Type | Description |
|---|---|
| string | SQL Select Statement |

retrieveView(
array $beans, array $cols
=
array(), array $where
=
array()
)
:
resourceImplements a generic retrieve for a collection of beans.
Inherited from: \DBManager::retrieveView()These beans will be joined in the sql by the key attribute of field defs. Currently, this function does support outer joins.
| Name | Type | Description |
|---|---|---|
| $beans | array | Sugarbean instance(s) |
| $cols | array | columns to be returned with the keys as names of bean as identified by get_class of bean. Values of this array is the array of fieldDefs to be returned for a bean. If an empty array is passed, all columns are selected. |
| $where | array | values with the keys as names of bean as identified by get_class of bean Each value at the first level is an array of values for that bean identified by name of fields. If we want to pass multiple values for a name, pass it as an array If where is not passed, all the rows will be returned. |
| Type | Description |
|---|---|
| resource |

retrieveViewSQL(
array $beans, array $cols
=
array(), array $whereClause
=
array()
)
:
stringThis method implements a generic sql for a collection of beans.
Inherited from: \DBManager::retrieveViewSQL()Currently, this function does not support outer joins.
| Name | Type | Description |
|---|---|---|
| $beans | array | Array of values returned by get_class method as the keys and a bean as the value for that key. These beans will be joined in the sql by the key attribute of field defs. |
| $cols | array | Optional, columns to be returned with the keys as names of bean as identified by get_class of bean. Values of this array is the array of fieldDefs to be returned for a bean. If an empty array is passed, all columns are selected. |
| $whereClause | array | Optional, values with the keys as names of bean as identified by get_class of bean. Each value at the first level is an array of values for that bean identified by name of fields. If we want to pass multiple values for a name, pass it as an array. If where is not passed, all the rows will be returned. |
| Type | Description |
|---|---|
| string | SQL Select Statement |

rollback(
)
:
boolRollsback pending changes to the database when the driver is setup to support transactions.
Inherited from: \DBManager::rollback()Note that the default implementation is applicable for transaction-less or auto commit scenarios. Since rollbacks cannot be done, this implementation always returns false.
| Type | Description |
|---|---|
| bool | true if rollback succeeded, false if it failed |
- Abstract

save_audit_records(
\SugarBean $bean, array $changes
)
:
bool
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | Sugarbean instance that was changed |
| $changes | array | List of changes, contains 'before' and 'after' |
| Type | Description |
|---|---|
| bool | query result |

setAutoIncrement(
string $table, string $field_name
)
:
stringEither creates an auto increment through queries or returns sql for auto increment that can be appended to the end of column defination (mysql)
| Name | Type | Description |
|---|---|---|
| $table | string | Table name |
| $field_name | string | Field name |
| Type | Description |
|---|---|
| string |

setAutoIncrementStart(
string $table, string $field_name, $start_value
)
:
stringSets the next auto-increment value of a column to a specific value.
| Name | Type | Description |
|---|---|---|
| $table | string | tablename |
| $field_name | string | |
| $start_value |
| Type | Description |
|---|---|
| string |

setOptions(
array $options
)
:
\DBManagerSet database options Options are usually db-dependant and derive from $config['dbconfigoption']
Inherited from: \DBManager::setOptions()| Name | Type | Description |
|---|---|---|
| $options | array |
| Type | Description |
|---|---|
| \DBManager |

setQueryLimit(
int $limit
)
:
voidThis function sets the query threshold limit
Inherited from: \DBManager::setQueryLimit()| Name | Type | Description |
|---|---|---|
| $limit | int | value of query threshold limit |

supports(
string $cap
)
:
boolCheck if this DB supports certain capability See $this->capabilities for the list
Inherited from: \DBManager::supports()| Name | Type | Description |
|---|---|---|
| $cap | string |
| Type | Description |
|---|---|
| bool |

tableExists(
string $tableName
)
:
boolChecks if a table with the name $tableName exists and returns true if it does or false otherwise
| Name | Type | Description |
|---|---|---|
| $tableName | string |
| Type | Description |
|---|---|
| bool |

tablesLike(
\$like $like
)
:
arrayGet tables like expression
| Name | Type | Description |
|---|---|---|
| $like | \$like | string |
| Type | Description |
|---|---|
| array |

track_slow_queries(
string $query
)
:
voidTracks slow queries in the tracker database table
Inherited from: \DBManager::track_slow_queries()| Name | Type | Description |
|---|---|---|
| $query | string | value of query to track |

truncate(
string $string, int $len
)
:
string
| Name | Type | Description |
|---|---|---|
| $string | string | |
| $len | int | length to trim to |
| Type | Description |
|---|---|
| string |

truncateTableSQL(
string $name
)
:
string
| Name | Type | Description |
|---|---|---|
| $name | string | table name |
| Type | Description |
|---|---|
| string |

update(
\SugarBean $bean, array $where
=
array()
)
:
bool
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | Sugarbean instance |
| $where | array | values with the keys as names of fields. If we want to pass multiple values for a name, pass it as an array If where is not passed, it defaults to id of table |
| Type | Description |
|---|---|
| bool | query result |

updateSQL(
\SugarBean $bean, array $where
=
array()
)
:
string
| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| $where | array | Optional, where conditions in an array |
| Type | Description |
|---|---|
| string | SQL Create Table statement |

updateWhereArray(
\SugarBean $bean, array $where
=
array()
)
:
arrayThis method returns a where array so that it has id entry if where is not an array or is empty
Inherited from: \DBManager::updateWhereArray()| Name | Type | Description |
|---|---|---|
| $bean | \SugarBean | SugarBean instance |
| $where | array | Optional, where conditions in an array |
| Type | Description |
|---|---|
| array |

userExists(
string $username
)
:
voidCheck if certain DB user exists
| Name | Type | Description |
|---|---|---|
| $username | string |

validColumnType(
string $type
)
:
boolreturns true if the type can be mapped to a valid column type
Inherited from: \DBManager::validColumnType()| Name | Type | Description |
|---|---|---|
| $type | string |
| Type | Description |
|---|---|
| bool |

validateQuery(
string $query
)
:
boolCheck if this query is valid Validates only SELECT queries
| Name | Type | Description |
|---|---|---|
| $query | string |
| Type | Description |
|---|---|
| bool |

verifyAlterTable(
string $table, string $query
)
:
stringTests an ALTER TABLE query
| Name | Type | Description |
|---|---|---|
| $table | string | table The table name to get DDL |
| $query | string | query The query to test. |
| Type | Description |
|---|---|
| string | Non-empty if error found |

verifyCreateTable(
string $table, string $query
)
:
string
| Name | Type | Description |
|---|---|---|
| $table | string | The table name to get DDL |
| $query | string | The query to test. |
| Type | Description |
|---|---|
| string | Non-empty if error found |

verifyDeleteFrom(
string $table, string $query
)
:
stringTests an DELETE FROM query
| Name | Type | Description |
|---|---|---|
| $table | string | table The table name to get DDL |
| $query | string | query The query to test. |
| Type | Description |
|---|---|
| string | Non-empty if error found |

verifyDropTable(
string $table, string $query
)
:
stringTests a DROP TABLE query
| Name | Type | Description |
|---|---|---|
| $table | string | table The table name to get DDL |
| $query | string | query The query to test. |
| Type | Description |
|---|---|
| string | Non-empty if error found |

verifyGenericReplaceQuery(
$querytype, $table, $query
)
:
void| Name | Type | Description |
|---|---|---|
| $querytype | ||
| $table | ||
| $query |

verifyInsertInto(
string $table, string $query
)
:
stringTests an INSERT INTO query
| Name | Type | Description |
|---|---|---|
| $table | string | table The table name to get DDL |
| $query | string | query The query to test. |
| Type | Description |
|---|---|
| string | Non-empty if error found |

verifySQLStatement(
string $query, array $skipTables
)
:
stringVerify SQl statement using per-DB verification function provided the function exists
Inherited from: \DBManager::verifySQLStatement()| Name | Type | Description |
|---|---|---|
| $query | string | Query to verify |
| $skipTables | array | List of blacklisted tables that aren't checked |
| Type | Description |
|---|---|
| string |

verifyUpdate(
string $table, string $query
)
:
stringTests an UPDATE query
| Name | Type | Description |
|---|---|---|
| $table | string | table The table name to get DDL |
| $query | string | query The query to test. |
| Type | Description |
|---|---|
| string | Non-empty if error found |