summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/mssql.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix: test_decimal on MSSQL - use a value that is accurately represented as a ↵Paul Johnston2007-11-251-1/+12
| | | | float, and make when asdecimal=False, convert Decimal to float
* Fix: MSSQL concatenate operator is + not || [ticket:879]Paul Johnston2007-11-251-1/+4
|
* Avoid doubling quoting of identifier in MSSQL reflectionPaul Johnston2007-11-251-1/+1
|
* Make function a reserved word in MSSQLPaul Johnston2007-11-251-5/+5
|
* MSSQL/PyODBC no longer has a global set nocount onPaul Johnston2007-11-251-10/+3
|
* Change to make PyODBC result fetching a bit more reliablePaul Johnston2007-11-251-8/+8
|
* column.foreign_key -> foreign_keys in MSSQLPaul Johnston2007-11-251-2/+2
|
* - named_with_column becomes an attributeMike Bayer2007-11-251-4/+4
| | | | | | | | | - cleanup within compiler visit_select(), column labeling - is_select() removed from dialects, replaced with returns_rows_text(), returns_rows_compiled() - should_autocommit() removed from dialects, replaced with should_autocommit_text() and should_autocommit_compiled() - typemap and column_labels collections removed from Compiler, replaced with single "result_map" collection. - ResultProxy uses more succinct logic in combination with result_map to target columns
* - MSSQL anonymous labels for selection of functions made deterministicMike Bayer2007-11-181-6/+6
| | | | - propagate correct **kwargs through mssql methods
* - anonymous column expressions are automatically labeled.Mike Bayer2007-11-101-2/+2
| | | | | | | | | | | | | | | | | | | e.g. select([x* 5]) produces "SELECT x * 5 AS anon_1". This allows the labelname to be present in the cursor.description which can then be appropriately matched to result-column processing rules. (we can't reliably use positional tracking for result-column matches since text() expressions may represent multiple columns). - operator overloading is now controlled by TypeEngine objects - the one built-in operator overload so far is String types overloading '+' to be the string concatenation operator. User-defined types can also define their own operator overloading by overriding the adapt_operator(self, op) method. - untyped bind parameters on the right side of a binary expression will be assigned the type of the left side of the operation, to better enable the appropriate bind parameter processing to take effect [ticket:819]
* Fixup sp_columns callPaul Johnston2007-10-311-1/+1
|
* - attempted to add a test for #622 / #751, but cant reproduce the failing ↵Mike Bayer2007-10-141-1/+1
| | | | | | | condition - fixed major oracle bug introduced by r3561, since colnames come back as unicode now, need to encode keys in setinputsizes() step
* Unused imports.Jason Kirtland2007-10-131-1/+1
|
* Fix broken update/delete queries on MSSQL when tables have a schemaPaul Johnston2007-10-121-1/+1
|
* applied patch for pymssql 30-char limitRick Morrison2007-10-101-2/+3
|
* removed unused _fold_identifier_case methodMike Bayer2007-10-021-4/+0
|
* Don't use unicode with pyodbc on UCS-4 platforms [ticket:787]Paul Johnston2007-09-191-3/+6
|
* Set supports_sane_multi_rowcount for MSSQLPaul Johnston2007-09-041-0/+3
|
* - removed "parameters" argument from clauseelement.compile(), replaced withMike Bayer2007-09-041-2/+2
| | | | | | | | "column_keys". the parameters sent to execute() only interact with the insert/update statement compilation process in terms of the column names present but not the values for those columns. produces more consistent execute/executemany behavior, simplifies things a bit internally.
* Minor fixes to MSSQL reflectionPaul Johnston2007-09-031-3/+3
|
* - merged inline inserts branchMike Bayer2007-09-011-1/+1
| | | | | | | | | | | | - all executemany() style calls put all sequences and SQL defaults inline into a single SQL statement and don't do any pre-execution - regular Insert and Update objects can have inline=True, forcing all executions to be inlined. - no last_inserted_ids(), lastrow_has_defaults() available with inline execution - calculation of pre/post execute pushed into compiler; DefaultExecutionContext greatly simplified - fixed postgres reflection of primary key columns with no sequence/default generator, sets autoincrement=False - fixed postgres executemany() behavior regarding sequences present, not present, passivedefaults, etc. - all tests pass for sqlite, mysql, postgres; oracle tests pass as well as they did previously including all insert/update/default functionality
* engine.url cleanups [ticket:742]Jason Kirtland2007-08-291-1/+1
| | | | | | - translate_connect_args can now take kw args or the classic list - in-tree dialects updated to supply their overrides as keywords - tweaked url parsing in the spirit of the #742 patch, more or less
* - method call removalMike Bayer2007-08-201-25/+8
|
* One more change of preparer() to identifier_preparerPaul Johnston2007-08-191-1/+1
|
* Use identifier_preparer instead of preparer()Paul Johnston2007-08-191-2/+2
|
* Fix broken importsPaul Johnston2007-08-191-1/+1
|
* 1. Module layout. sql.py and related move into a package called "sql".Mike Bayer2007-08-181-28/+18
| | | | | | | | | | | | 2. compiler names changed to be less verbose, unused classes removed. 3. Methods on Dialect which return compilers, schema generators, identifier preparers have changed to direct class references, typically on the Dialect class itself or optionally as attributes on an individual Dialect instance if conditional behavior is needed. This takes away the need for Dialect subclasses to know how to instantiate these objects, and also reduces method overhead by one call for each one. 4. as a result of 3., some internal signatures have changed for things like compiler() (now statement_compiler()), preparer(), etc., mostly in that the dialect needs to be passed explicitly as the first argument (since they are just class references now). The compiler() method on Engine and Connection is now also named statement_compiler(), but as before does not take the dialect as an argument. 5. changed _process_row function on RowProxy to be a class reference, cuts out 50K method calls from insertspeed.py
* merge changset [3347] into trunkPaul Johnston2007-08-171-5/+9
|
* Merge [3345] into trunk. Unit test still TODOPaul Johnston2007-08-171-4/+28
|
* Disable MSSQL unicode statements on UCS-4 platforms, ticket #731Paul Johnston2007-08-171-2/+2
|
* mass has_key->__contains__ migration, [ticket:738]Mike Bayer2007-08-151-5/+5
|
* - merged "fasttypes" branch. this branch changes the signatureMike Bayer2007-08-141-79/+101
| | | | | | | | | | | | | of convert_bind_param() and convert_result_value() to callable-returning bind_processor() and result_processor() methods. if no callable is returned, no pre/post processing function is called. - hooks added throughout base/sql/defaults to optimize the calling of bind param/result processors so that method call overhead is minimized. special cases added for executemany() scenarios such that unneeded "last row id" logic doesn't kick in, parameters aren't excessively traversed. - new performance tests show a combined mass-insert/mass-select test as having 68% fewer function calls than the same test run against 0.3. - general performance improvement of result set iteration is around 10-20%.
* - fixed compiler bug in mssqlMike Bayer2007-08-121-1/+1
| | | | | | - marked as unsupported for mssql all two-phase and nested transcation tests - marked as unsupported for mssql various transactional/session tests which require two connections looking at uncommitted/external data at the same time (ms-sql cant handle it) - put better explicit closeout step in unitofwork.py tests to appease ms-sqls hard locking
* Fix missing import of 'operator'Paul Johnston2007-08-121-0/+1
|
* - fix mssql compiling explicitly added alias twiceAnts Aasma2007-08-081-4/+11
| | | | | | - add is_select to mssql dialect. currently adds only sp_columns, someone familiar with mssql should update this - update mssql get_default_schema_name api - remove commented code from Query.filter_by
* merge [3215] into trunkPaul Johnston2007-08-081-0/+9
|
* little too happy with the copy/paste thereJonathan Ellis2007-07-301-4/+0
|
* engine.table_names()Jonathan Ellis2007-07-291-0/+8
| | | | tested vs sqlite and pg. mssql should also be ok (uses ischema like pg.) others are best-guess based on has_table code.
* merging 0.4 branch to trunk. see CHANGES for details. 0.3 moves to ↵Mike Bayer2007-07-271-55/+58
| | | | maintenance branch in branches/rel_0_3.
* mssql: indexes are now quoted when dropping from reflected tables [ticket:684]Rick Morrison2007-07-261-1/+3
|
* mssql: added support for TIME type (simulated via DATETIME col) [ticket:679]Rick Morrison2007-07-261-0/+25
|
* Properly escape table names when reflecting for mssql and sqlite [ticket:653]Paul Johnston2007-07-171-5/+3
|
* mssql: preliminary support for using scope_identity() with pyodbcPaul Johnston2007-07-111-1/+25
|
* mssql now able to reflect start and increment values for identity columnsPaul Johnston2007-07-111-6/+15
|
* Fix port option handling for mssql/pyodbc [ticket:634]Rick Morrison2007-07-091-2/+5
|
* - result.last_inserted_ids() should return a list that is identicallyMike Bayer2007-06-171-7/+8
| | | | | | sized to the primary key constraint of the table. values that were "passively" created and not available via cursor.lastrowid will be None. - sqlite: string PK column inserts dont get overwritten with OID [ticket:603]
* Multiple MSSQL fixes; see ticket #581Paul Johnston2007-06-131-22/+65
|
* (no commit message)Rick Morrison2007-06-061-0/+3
|
* - mssql: replace "select @@identity" with "select @@scope_identity". Should ↵Rick Morrison2007-04-291-6/+28
| | | | | | help avoid returning wrong ID when insert triggers are used. Also add unit test (thanks paj) - mssql: if no db-api module specified, probe in the order [pyodbc, pymssql, adodbapi]
* - the dialects within sqlalchemy.databases become a setuptoolsMike Bayer2007-04-171-16/+18
| | | | | | entry points. loading the built-in database dialects works the same as always, but if none found will fall back to trying pkg_resources to load an external module [ticket:521]