MSSQL backend, thru either pymssq, adodbapi or pyodbc interfaces.
IDENTITY columns are supported by using SA schema.Sequence() objects. In other words:
Table('test', mss_engine, Column('id', Integer, Sequence('blah',100,10), primary_key=True), Column('name', String(20)) ).create()
would yield:
CREATE TABLE test ( id INTEGER NOT NULL IDENTITY(100,10) PRIMARY KEY, name VARCHAR(20) )
Note that the start & increment values for sequences are optional and will default to 1,1.
Support for SET IDENTITY_INSERT ON mode (automagic on / off for INSERT s)
Support for auto-fetching of @@IDENTITY/@@SCOPE_IDENTITY() on INSERT
select.limit implemented as SELECT TOP n
Known issues / TODO:
overrides bindparam/result processing to not convert any unicode strings
By converting to string, we can use Decimal types round-trip.
Move bind parameters to the right-hand side of an operator, where possible.
Pull the raw pymmsql connection out--sensative to "pool.ConnectionFairy" and pymssql.pymssqlCnx Classes
indicate whether the DBAPI can receive SQL statements as Python unicode strings
indicate whether the DBAPI can receive SQL statements as Python unicode strings
Turn off the INDENTITY_INSERT mode if it's been activated, and fetch recently inserted IDENTIFY values (works only for one column).
MS-SQL has a special mode for inserting non-NULL values into IDENTITY columns.
Activate it if the feature is turned on and needed.
execute "set nocount on" on all connections, as a partial workaround for multiple result set issues.