diff --git a/dibi/drivers/sqlite.php b/dibi/drivers/sqlite.php index fb7f9eb6..78f3dd31 100644 --- a/dibi/drivers/sqlite.php +++ b/dibi/drivers/sqlite.php @@ -232,14 +232,7 @@ class DibiSqliteDriver extends DibiObject implements IDibiDriver return "'" . sqlite_escape_string($value) . "'"; /*case dibi::BINARY: // SQLite 3 - static $hex = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'); - $value = (string) $value; - $len = strlen($value); - $res = "X'"; - for ($i = 0; $i < $len; $i++) { - $res .= $hex[ord($value[$i]) >> 4] . $hex[ord($value[$i]) & 15]; - } - return $res . "'";*/ + return "X'" . bin2hex((string) $value) . "'";*/ case dibi::IDENTIFIER: return '[' . str_replace('.', '].[', strtr($value, '[]', ' ')) . ']'; diff --git a/dibi/libs/DibiDatabaseInfo.php b/dibi/libs/DibiDatabaseInfo.php index cf2acfab..1c8f31d2 100644 --- a/dibi/libs/DibiDatabaseInfo.php +++ b/dibi/libs/DibiDatabaseInfo.php @@ -476,12 +476,12 @@ class DibiColumnInfo extends DibiObject public static function detectType($type) { static $patterns = array( + 'BYTEA|BLOB|BIN' => dibi::BINARY, 'BYTE|COUNTER|SERIAL|INT|LONG' => dibi::INTEGER, 'CURRENCY|REAL|MONEY|FLOAT|DOUBLE|DECIMAL|NUMERIC|NUMBER' => dibi::FLOAT, '^TIME$' => dibi::TIME, 'TIME' => dibi::DATETIME, // DATETIME, TIMESTAMP 'YEAR|DATE' => dibi::DATE, - 'BYTEA|BLOB|BIN' => dibi::BINARY, 'BOOL|BIT' => dibi::BOOL, );