57 return 'time(\'now\')';
59 return 'date(\'now\')';
62 return 'datetime(\'now\')';
77 $trimChar = ($char !=
false) ? (
', ' . $char) :
'';
79 if ($pos == self::TRIM_LEADING) {
81 }
else if($pos == self::TRIM_TRAILING) {
87 return $trimFn .
'(' . $str . $trimChar .
')';
105 if ($length !==
null) {
106 return 'SUBSTR(' . $value .
', ' . $position .
', ' . $length .
')';
108 return 'SUBSTR(' . $value .
', ' . $position .
', LENGTH(' . $value .
'))';
121 if ($startPos ==
false) {
122 return 'LOCATE('.$str.
', '.$substr.
')';
124 return 'LOCATE('.$str.
', '.$substr.
', '.$startPos.
')';
131 case \Doctrine\DBAL\Connection::TRANSACTION_READ_UNCOMMITTED:
133 case \Doctrine\DBAL\Connection::TRANSACTION_READ_COMMITTED:
134 case \Doctrine\DBAL\Connection::TRANSACTION_REPEATABLE_READ:
135 case \Doctrine\DBAL\Connection::TRANSACTION_SERIALIZABLE:
138 return parent::_getTransactionIsolationLevelSQL($level);
232 $autoinc = ! empty($columnDef[
'autoincrement']) ?
' AUTOINCREMENT' :
'';
233 $pk = ! empty($columnDef[
'primary']) && ! empty($autoinc) ?
' PRIMARY KEY' :
'';
235 return 'INTEGER' . $pk . $autoinc;
272 foreach($columns as $field) {
273 if (isset($field[
'autoincrement']) && $field[
'autoincrement']) {
279 if ( ! $autoinc && isset($options[
'primary']) && ! empty($options[
'primary'])) {
280 $keyColumns = array_unique(array_values($options[
'primary']));
281 $keyColumns = array_map(array($this,
'quoteIdentifier'), $keyColumns);
282 $queryFields.=
', PRIMARY KEY('.implode(
', ', $keyColumns).
')';
285 $query[] =
'CREATE TABLE ' . $name .
' (' . $queryFields .
')';
287 if (isset($options[
'indexes']) && ! empty($options[
'indexes'])) {
288 foreach ($options[
'indexes'] as $index => $indexDef) {
292 if (isset($options[
'unique']) && ! empty($options[
'unique'])) {
293 foreach ($options[
'unique'] as $index => $indexDef) {
305 if ( ! isset($field[
'length'])) {
306 if (array_key_exists(
'default', $field)) {
309 $field[
'length'] =
false;
313 $fixed = (isset($field[
'fixed'])) ? $field[
'fixed'] :
false;
315 return $fixed ? ($length ?
'CHAR(' . $length .
')' :
'CHAR(255)')
316 : ($length ?
'VARCHAR(' . $length .
')' :
'TEXT');
326 return "SELECT sql FROM sqlite_master WHERE type='index' AND tbl_name = '$table' AND sql NOT NULL ORDER BY name";
331 return "PRAGMA table_info($table)";
336 return "PRAGMA index_list($table)";
341 return "SELECT name FROM sqlite_master WHERE type = 'table' AND name != 'sqlite_sequence' "
342 .
"UNION ALL SELECT name FROM sqlite_temp_master "
343 .
"WHERE type = 'table' ORDER BY name";
348 return "SELECT name, sql FROM sqlite_master WHERE type='view' AND sql NOT NULL";
353 return 'CREATE VIEW ' . $name .
' AS ' . $sql;
358 return 'DROP VIEW '. $name;
399 return 'DELETE FROM '.$tableName;
426 static public function udfLocate($str, $substr, $offset = 0)
428 $pos = strpos($str, $substr, $offset);
429 if ($pos !==
false) {
426 static public function udfLocate($str, $substr, $offset = 0) {
…}
442 $this->doctrineTypeMapping = array(
443 'boolean' =>
'boolean',
444 'tinyint' =>
'boolean',
445 'smallint' =>
'smallint',
446 'mediumint' =>
'integer',
448 'integer' =>
'integer',
449 'serial' =>
'integer',
450 'bigint' =>
'bigint',
451 'bigserial' =>
'bigint',
453 'tinytext' =>
'text',
454 'mediumtext' =>
'text',
455 'longtext' =>
'text',
457 'varchar' =>
'string',
458 'varchar2' =>
'string',
459 'nvarchar' =>
'string',
464 'datetime' =>
'datetime',
465 'timestamp' =>
'datetime',
470 'decimal' =>
'decimal',
471 'numeric' =>
'decimal',