summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/sqlite.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2005-09-22 03:28:36 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2005-09-22 03:28:36 +0000
commitf14fed985dab4260729cd94a103689ce32080653 (patch)
treebe731b2e88279951a6129ce802afcc6f6fe0c5e3 /lib/sqlalchemy/databases/sqlite.py
parentf8a448a520343ff6e22d53b842ab4fb743345f02 (diff)
downloadsqlalchemy-f14fed985dab4260729cd94a103689ce32080653.tar.gz
Diffstat (limited to 'lib/sqlalchemy/databases/sqlite.py')
-rw-r--r--lib/sqlalchemy/databases/sqlite.py42
1 files changed, 22 insertions, 20 deletions
diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py
index 76ad83371..cef18f1e9 100644
--- a/lib/sqlalchemy/databases/sqlite.py
+++ b/lib/sqlalchemy/databases/sqlite.py
@@ -22,33 +22,34 @@ import sqlalchemy.sql as sql
import sqlalchemy.engine as engine
import sqlalchemy.schema as schema
import sqlalchemy.ansisql as ansisql
+import sqlalchemy.types as sqltypes
from sqlalchemy.ansisql import *
from pysqlite2 import dbapi2 as sqlite
colspecs = {
- schema.INT : "INTEGER",
- schema.CHAR : "CHAR(%(length)s)",
- schema.VARCHAR : "VARCHAR(%(length)s)",
- schema.TEXT : "TEXT",
- schema.Numeric : "NUMERIC(%(precision)s, %(length)s)",
- schema.FLOAT : "NUMERIC(%(precision)s, %(length)s)",
- schema.DECIMAL : "NUMERIC(%(precision)s, %(length)s)",
- schema.TIMESTAMP : "TIMESTAMP",
- schema.DATETIME : "TIMESTAMP",
- schema.CLOB : "TEXT",
- schema.BLOB : "BLOB",
- schema.BOOLEAN : "BOOLEAN",
+ sqltypes.INT : "INTEGER",
+ sqltypes.CHAR : "CHAR(%(length)s)",
+ sqltypes.VARCHAR : "VARCHAR(%(length)s)",
+ sqltypes.TEXT : "TEXT",
+ sqltypes.Numeric : "NUMERIC(%(precision)s, %(length)s)",
+ sqltypes.FLOAT : "NUMERIC(%(precision)s, %(length)s)",
+ sqltypes.DECIMAL : "NUMERIC(%(precision)s, %(length)s)",
+ sqltypes.TIMESTAMP : "TIMESTAMP",
+ sqltypes.DATETIME : "TIMESTAMP",
+ sqltypes.CLOB : "TEXT",
+ sqltypes.BLOB : "BLOB",
+ sqltypes.BOOLEAN : "BOOLEAN",
}
pragma_names = {
- 'INTEGER' : schema.INT,
- 'VARCHAR' : schema.VARCHAR,
- 'CHAR' : schema.CHAR,
- 'TEXT' : schema.TEXT,
- 'NUMERIC' : schema.FLOAT,
- 'TIMESTAMP' : schema.TIMESTAMP,
- 'BLOB' : schema.BLOB,
+ 'INTEGER' : sqltypes.INT,
+ 'VARCHAR' : sqltypes.VARCHAR,
+ 'CHAR' : sqltypes.CHAR,
+ 'TEXT' : sqltypes.TEXT,
+ 'NUMERIC' : sqltypes.FLOAT,
+ 'TIMESTAMP' : sqltypes.TIMESTAMP,
+ 'BLOB' : sqltypes.BLOB,
}
def engine(filename, opts, **params):
@@ -119,10 +120,11 @@ class SQLiteCompiler(ansisql.ANSICompiler):
class SQLiteColumnImpl(sql.ColumnSelectable):
def get_specification(self):
coltype = self.column.type
- if isinstance(coltype, types.ClassType):
+ if isinstance(coltype, type):
key = coltype
else:
key = coltype.__class__
+
colspec = self.name + " " + colspecs[key] % {'precision': getattr(coltype, 'precision', 10), 'length' : getattr(coltype, 'length', 10)}
if not self.column.nullable: