connection->customMetaTypes[$meta])) { return $this->connection->customMetaTypes[$meta]['actual']; } switch(strtoupper($meta)) { case 'C': case 'C2': return 'VARCHAR'; // TEXT , TEXT affinity case 'XL': case 'X2': return 'LONGTEXT'; // TEXT , TEXT affinity case 'X': return 'TEXT'; // TEXT , TEXT affinity case 'B': return 'LONGBLOB'; // TEXT , NONE affinity , BLOB case 'D': return 'DATE'; // NUMERIC , NUMERIC affinity case 'T': return 'DATETIME'; // NUMERIC , NUMERIC affinity case 'I': case 'R': case 'I4': return 'INTEGER'; // NUMERIC , INTEGER affinity case 'L': case 'I1': return 'TINYINT'; // NUMERIC , INTEGER affinity case 'I2': return 'SMALLINT'; // NUMERIC , INTEGER affinity case 'I8': return 'BIGINT'; // NUMERIC , INTEGER affinity case 'F': return 'DOUBLE'; // NUMERIC , REAL affinity case 'N': return 'NUMERIC'; // NUMERIC , NUMERIC affinity default: return $meta; } } // return string must begin with space function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey) { $suffix = ''; if ($funsigned && !($fprimary && $fautoinc)) $suffix .= ' UNSIGNED'; if ($fnotnull) $suffix .= ' NOT NULL'; if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault"; if ($fprimary && $fautoinc) { $suffix .= ' PRIMARY KEY AUTOINCREMENT'; array_pop($pkey); } if ($fconstraint) $suffix .= ' '.$fconstraint; return $suffix; } function alterColumnSQL($tabname, $flds, $tableflds='', $tableoptions='') { if ($this->debug) { ADOConnection::outp("AlterColumnSQL not supported natively by SQLite"); } return array(); } function dropColumnSQL($tabname, $flds, $tableflds='', $tableoptions='') { if (SQLite3::version()['versionNumber'] < 3035000) { if ($this->debug) { ADOConnection::outp("DropColumnSQL is only supported since SQLite 3.35.0"); } return array(); } return parent::dropColumnSQL($tabname, $flds, $tableflds, $tableoptions); } function renameColumnSQL($tabname, $oldcolumn, $newcolumn, $flds='') { if (SQLite3::version()['versionNumber'] < 3025000) { if ($this->debug) { ADOConnection::outp("renameColumnSQL is only supported since SQLite 3.25.0"); } return array(); } return parent::renameColumnSQL($tabname, $oldcolumn, $newcolumn, $flds); } }