Opened 8 years ago

Closed 8 years ago

#5061 closed (duplicate)

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
Cc: Triage Stage: Unreviewed
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

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.

Hacked on

  • Sql Server 2000 SP1
  • WinXP PRO 64 bits
  • Python 2.4
  • Django rev 5783

What's on:

  • 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).

What's left

  • 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

What's uggly

  • Barney and their friends
  • Seriously, check db\models line 242+: How detect properly autoinc fields?

Change History (1)

comment:1 Changed 8 years ago by Matt McClanahan <cardinal@…>

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Resolution set to duplicate
  • Status changed from new to closed

Dupe of #5062, which includes patches.

Note: See TracTickets for help on using tickets.
Back to Top