Michael Manfre committed 966df69

Fixed #19 - Update queries now return row count

Comments (0)

Files changed (2)


 - 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`


 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):