Loading django/contrib/gis/db/backends/oracle/operations.py +5 −6 Original line number Diff line number Diff line Loading @@ -263,11 +263,10 @@ class OracleOperations(BaseSpatialOperations, DatabaseOperations): from django.contrib.gis.db.backends.oracle.models import OracleSpatialRefSys return OracleSpatialRefSys def modify_insert_params(self, placeholders, params): def modify_insert_params(self, placeholder, params): """Drop out insert parameters for NULL placeholder. Needed for Oracle Spatial backend due to #10888 backend due to #10888. """ # This code doesn't work for bulk insert cases. assert len(placeholders) == 1 return [[param for pholder, param in six.moves.zip(placeholders[0], params[0]) if pholder != 'NULL'], ] if placeholder == 'NULL': return [] return super(OracleOperations, self).modify_insert_params(placeholder, params) django/db/backends/base/operations.py +1 −1 Original line number Diff line number Diff line Loading @@ -576,7 +576,7 @@ class BaseDatabaseOperations(object): def combine_duration_expression(self, connector, sub_expressions): return self.combine_expression(connector, sub_expressions) def modify_insert_params(self, placeholders, params): def modify_insert_params(self, placeholder, params): """Allow modification of insert parameters. Needed for Oracle Spatial backend due to #10888. """ Loading django/db/backends/mysql/operations.py +4 −3 Original line number Diff line number Diff line Loading @@ -166,9 +166,10 @@ class DatabaseOperations(BaseDatabaseOperations): def max_name_length(self): return 64 def bulk_insert_sql(self, fields, num_values): items_sql = "(%s)" % ", ".join(["%s"] * len(fields)) return "VALUES " + ", ".join([items_sql] * num_values) def bulk_insert_sql(self, fields, placeholder_rows): placeholder_rows_sql = (", ".join(row) for row in placeholder_rows) values_sql = ", ".join("(%s)" % sql for sql in placeholder_rows_sql) return "VALUES " + values_sql def combine_expression(self, connector, sub_expressions): """ Loading django/db/backends/oracle/operations.py +5 −3 Original line number Diff line number Diff line Loading @@ -439,6 +439,8 @@ WHEN (new.%(col_name)s IS NULL) name_length = self.max_name_length() - 3 return '%s_TR' % truncate_name(table, name_length).upper() def bulk_insert_sql(self, fields, num_values): items_sql = "SELECT %s FROM DUAL" % ", ".join(["%s"] * len(fields)) return " UNION ALL ".join([items_sql] * num_values) def bulk_insert_sql(self, fields, placeholder_rows): return " UNION ALL ".join( "SELECT %s FROM DUAL" % ", ".join(row) for row in placeholder_rows ) django/db/backends/postgresql/operations.py +4 −3 Original line number Diff line number Diff line Loading @@ -221,9 +221,10 @@ class DatabaseOperations(BaseDatabaseOperations): def return_insert_id(self): return "RETURNING %s", () def bulk_insert_sql(self, fields, num_values): items_sql = "(%s)" % ", ".join(["%s"] * len(fields)) return "VALUES " + ", ".join([items_sql] * num_values) def bulk_insert_sql(self, fields, placeholder_rows): placeholder_rows_sql = (", ".join(row) for row in placeholder_rows) values_sql = ", ".join("(%s)" % sql for sql in placeholder_rows_sql) return "VALUES " + values_sql def adapt_datefield_value(self, value): return value Loading Loading
django/contrib/gis/db/backends/oracle/operations.py +5 −6 Original line number Diff line number Diff line Loading @@ -263,11 +263,10 @@ class OracleOperations(BaseSpatialOperations, DatabaseOperations): from django.contrib.gis.db.backends.oracle.models import OracleSpatialRefSys return OracleSpatialRefSys def modify_insert_params(self, placeholders, params): def modify_insert_params(self, placeholder, params): """Drop out insert parameters for NULL placeholder. Needed for Oracle Spatial backend due to #10888 backend due to #10888. """ # This code doesn't work for bulk insert cases. assert len(placeholders) == 1 return [[param for pholder, param in six.moves.zip(placeholders[0], params[0]) if pholder != 'NULL'], ] if placeholder == 'NULL': return [] return super(OracleOperations, self).modify_insert_params(placeholder, params)
django/db/backends/base/operations.py +1 −1 Original line number Diff line number Diff line Loading @@ -576,7 +576,7 @@ class BaseDatabaseOperations(object): def combine_duration_expression(self, connector, sub_expressions): return self.combine_expression(connector, sub_expressions) def modify_insert_params(self, placeholders, params): def modify_insert_params(self, placeholder, params): """Allow modification of insert parameters. Needed for Oracle Spatial backend due to #10888. """ Loading
django/db/backends/mysql/operations.py +4 −3 Original line number Diff line number Diff line Loading @@ -166,9 +166,10 @@ class DatabaseOperations(BaseDatabaseOperations): def max_name_length(self): return 64 def bulk_insert_sql(self, fields, num_values): items_sql = "(%s)" % ", ".join(["%s"] * len(fields)) return "VALUES " + ", ".join([items_sql] * num_values) def bulk_insert_sql(self, fields, placeholder_rows): placeholder_rows_sql = (", ".join(row) for row in placeholder_rows) values_sql = ", ".join("(%s)" % sql for sql in placeholder_rows_sql) return "VALUES " + values_sql def combine_expression(self, connector, sub_expressions): """ Loading
django/db/backends/oracle/operations.py +5 −3 Original line number Diff line number Diff line Loading @@ -439,6 +439,8 @@ WHEN (new.%(col_name)s IS NULL) name_length = self.max_name_length() - 3 return '%s_TR' % truncate_name(table, name_length).upper() def bulk_insert_sql(self, fields, num_values): items_sql = "SELECT %s FROM DUAL" % ", ".join(["%s"] * len(fields)) return " UNION ALL ".join([items_sql] * num_values) def bulk_insert_sql(self, fields, placeholder_rows): return " UNION ALL ".join( "SELECT %s FROM DUAL" % ", ".join(row) for row in placeholder_rows )
django/db/backends/postgresql/operations.py +4 −3 Original line number Diff line number Diff line Loading @@ -221,9 +221,10 @@ class DatabaseOperations(BaseDatabaseOperations): def return_insert_id(self): return "RETURNING %s", () def bulk_insert_sql(self, fields, num_values): items_sql = "(%s)" % ", ".join(["%s"] * len(fields)) return "VALUES " + ", ".join([items_sql] * num_values) def bulk_insert_sql(self, fields, placeholder_rows): placeholder_rows_sql = (", ".join(row) for row in placeholder_rows) values_sql = ", ".join("(%s)" % sql for sql in placeholder_rows_sql) return "VALUES " + values_sql def adapt_datefield_value(self, value): return value Loading