diff options
Diffstat (limited to 'lib/sqlalchemy/databases')
| -rw-r--r-- | lib/sqlalchemy/databases/mssql.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/databases/postgres.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/databases/sqlite.py | 21 |
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): |
