New backend for Sql Server using pymssql
|Reported by:||mamcx <mamcx@…>||Owned by:||adrian|
|Component:||Database layer (models, ORM)||Version:||master|
|Severity:||Keywords:||ms sql server|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Related to this thread I code a new backend for Sql Server using Sql Server.
This is a alpha version... and I put it here so can get early feedback. Is not production ready.
- Sql Server 2000 SP1
- WinXP PRO 64 bits
- Python 2.4
- Django rev 5783
- Merge of several code & tickets around, including the original ado_mssql code as base.
- Based on pymssql 0.8.0 so in theroy must work across plataforms. This have some bugs and issues so please install it from pymssql site and then apply the patch here. Include detection of boolean types, support of autocommit, splits on GO, and not mask python errors as sql server fault.
- Fix problems with dateformat on nonenglish sql instalations.
- Tested using included django\tests>runtests.py, with the tutorial, satchmo rev 590 with not fatal errors.
- Detection of Sql Server version, so later can apply optimizations based on this information.
- Implemented client.py (so python manage.py dbshell work).
- No LIMIT/OFFSET emulation. I'm learning about the Oracle backend for apply a similar aproach. I think however is a doable task with the refactoring of query class.
- No get_deferrable_sql (aka CASCADE delete/update on relations). Sql Server is very sensitive about circular references.
- Testing against Sql 2005 and on linux.
- Login using integrated security (on windows)
- Check what happend with multiples collations
- Barney and their friends
- Seriously, check db\models line 242+: How detect properly autoinc fields?