summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/databases')
-rw-r--r--lib/sqlalchemy/databases/mssql.py2
-rw-r--r--lib/sqlalchemy/databases/postgres.py2
-rw-r--r--lib/sqlalchemy/databases/sqlite.py21
3 files changed, 6 insertions, 19 deletions
diff --git a/lib/sqlalchemy/databases/mssql.py b/lib/sqlalchemy/databases/mssql.py
index 1ff482cf5..4bbc2caf7 100644
--- a/lib/sqlalchemy/databases/mssql.py
+++ b/lib/sqlalchemy/databases/mssql.py
@@ -361,6 +361,8 @@ class MSSQLExecutionContext_pyodbc (MSSQLExecutionContext):
class MSSQLDialect(default.DefaultDialect):
name = 'mssql'
+ supports_default_values = True
+ supports_empty_insert = False
colspecs = {
sqltypes.Unicode : MSNVarchar,
diff --git a/lib/sqlalchemy/databases/postgres.py b/lib/sqlalchemy/databases/postgres.py
index 1c410af53..c8abeb6db 100644
--- a/lib/sqlalchemy/databases/postgres.py
+++ b/lib/sqlalchemy/databases/postgres.py
@@ -302,6 +302,8 @@ class PGDialect(default.DefaultDialect):
preexecute_pk_sequences = True
supports_pk_autoincrement = False
default_paramstyle = 'pyformat'
+ supports_default_values = True
+ supports_empty_insert = False
def __init__(self, server_side_cursors=False, **kwargs):
default.DefaultDialect.__init__(self, **kwargs)
diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py
index 70c3f74ec..b3de98100 100644
--- a/lib/sqlalchemy/databases/sqlite.py
+++ b/lib/sqlalchemy/databases/sqlite.py
@@ -242,6 +242,8 @@ class SQLiteDialect(default.DefaultDialect):
supports_alter = False
supports_unicode_statements = True
default_paramstyle = 'qmark'
+ supports_default_values = True
+ supports_empty_insert = False
def __init__(self, **kwargs):
default.DefaultDialect.__init__(self, **kwargs)
@@ -465,25 +467,6 @@ class SQLiteCompiler(compiler.DefaultCompiler):
# sqlite has no "FOR UPDATE" AFAICT
return ''
- def visit_insert(self, insert_stmt):
- self.isinsert = True
- colparams = self._get_colparams(insert_stmt)
- preparer = self.preparer
-
- if not colparams:
- if not self.dialect.supports_default_values:
- raise exc.NotSupportedError(
- "The version of SQLite you are using, %s, does not support DEFAULT VALUES." % (self.dialect.dbapi.sqlite_version))
-
- return ("INSERT INTO %s DEFAULT VALUES" % (
- (preparer.format_table(insert_stmt.table),)))
- else:
- return ("INSERT INTO %s (%s) VALUES (%s)" %
- (preparer.format_table(insert_stmt.table),
- ', '.join([preparer.format_column(c[0])
- for c in colparams]),
- ', '.join([c[1] for c in colparams])))
-
class SQLiteSchemaGenerator(compiler.SchemaGenerator):