1
0
mirror of https://github.com/django/django.git synced 2025-03-13 10:50:55 +00:00

Refs #35295 -- Added BaseDatabaseOperations.bulk_insert_sql().

Co-authored-by: Nick Pope <nick@nickpope.me.uk>
This commit is contained in:
Mariusz Felisiak 2024-03-14 05:29:49 +01:00
parent 95ae37839c
commit 912f72a6f0
4 changed files with 5 additions and 15 deletions

View File

@ -276,6 +276,11 @@ class BaseDatabaseOperations:
if sql
)
def bulk_insert_sql(self, fields, placeholder_rows):
placeholder_rows_sql = (", ".join(row) for row in placeholder_rows)
values_sql = ", ".join([f"({sql})" for sql in placeholder_rows_sql])
return f"VALUES {values_sql}"
def last_executed_query(self, cursor, sql, params):
"""
Return a string of the query last executed by the given cursor, with

View File

@ -290,11 +290,6 @@ class DatabaseOperations(BaseDatabaseOperations):
def pk_default_value(self):
return "NULL"
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):
if connector == "^":
return "POW(%s)" % ",".join(sub_expressions)

View File

@ -328,11 +328,6 @@ class DatabaseOperations(BaseDatabaseOperations):
]
return "RETURNING %s" % ", ".join(columns), ()
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
if is_psycopg3:
def adapt_integerfield_value(self, value, internal_type):

View File

@ -353,11 +353,6 @@ class DatabaseOperations(BaseDatabaseOperations):
def convert_booleanfield_value(self, value, expression, connection):
return bool(value) if value in (1, 0) else value
def bulk_insert_sql(self, fields, placeholder_rows):
placeholder_rows_sql = (", ".join(row) for row in placeholder_rows)
values_sql = ", ".join(f"({sql})" for sql in placeholder_rows_sql)
return f"VALUES {values_sql}"
def combine_expression(self, connector, sub_expressions):
# SQLite doesn't have a ^ operator, so use the user-defined POWER
# function that's registered in connect().