1. Thomas Hoffbauer
  2. django-mssql


Michael Manfre  committed 966df69

Fixed #19 - Update queries now return row count

  • Participants
  • Parent commits d0e19d0
  • Branches default

Comments (0)

Files changed (2)

File docs/changelog.txt

View file
  • Ignore whitespace
 - Subqueries will have their ordering removed because SQL Server only supports it when using TOP or FOR XML. 
   This relies upon the ``with_col_aliases`` argument to ``SQLCompiler.as_sql`` only being ``True`` when the query 
   is a subquery, which is currently the case for all usages in Django 1.5 master. :issue:`18`
+- UPDATE statements will now return the number of rows affected, instead of -1. :issue:`19`

File sqlserver_ado/compiler.py

View file
  • Ignore whitespace
 class SQLUpdateCompiler(compiler.SQLUpdateCompiler, SQLCompiler):
-    pass
+    def as_sql(self):
+        sql, params = super(SQLUpdateCompiler, self).as_sql()
+        # Need the NOCOUNT OFF so UPDATE returns a count, instead of -1
+        sql = 'SET NOCOUNT OFF; {0}; SET NOCOUNT ON'.format(sql)
+        return sql, params
 class SQLAggregateCompiler(compiler.SQLAggregateCompiler, SQLCompiler):
     def as_sql(self, qn=None):