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
Floating point class for decimal arithmetic.
Represents the number as a triple tuple.
To show the internals exactly as they are.
Compares one to another.
-1 => a < b 0 => a = b 1 => a > b NaN => one is NaN Like __cmp__, but returns Decimal instances.
Returns the larger value.
like max(self, other) except if one is not a number, returns NaN (and signals if one is sNaN). Also rounds.
Returns the smaller value.
like min(self, other) except if one is not a number, returns NaN (and signals if one is sNaN). Also rounds.
Quantize self so its exponent is the same as that of exp.
Similar to self._rescale(exp._exp) but with error checking.
Remainder nearest to 0- abs(remainder-near) <= other/2
Test whether self and other have the same exponent.
same as self._exp == other._exp, except NaN == sNaN
Return the square root of self.
Uses a converging algorithm (Xn+1 = 0.5*(Xn + self / Xn)) Should quadratically approach the right answer.
Convert to engineering-type string.
Engineering notation has an exponent which is a multiple of 3, so there are up to 3 digits left of the decimal place.
Same rules for when in exponential and when as a value as in __str__.
Rounds to the nearest integer, without raising inexact, rounded.
Returns the absolute value of self.
If the second argument is 0, do not round.
Returns self + other.
-INF + INF (or the reverse) cause InvalidOperation errors.
Returns self + other.
-INF + INF (or the reverse) cause InvalidOperation errors.
Return self * other.
(+-) INF * 0 (or its reverse) raise InvalidOperation.
Return self * other.
(+-) INF * 0 (or its reverse) raise InvalidOperation.
Returns a copy, unless it is a sNaN.
Rounds the number (if more then precision digits)
Return self ** n (mod modulo)
If modulo is None (default), don't take it mod modulo.
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
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.