File: //lib/python3/dist-packages/django/db/backends/base/__pycache__/operations.cpython-310.pyc
o
/�hRi � @ s� d dl Z d dlZd dlmZ d dlZd dlmZ d dlmZm Z d dl
mZ d dlm
Z
d dlmZ d dlmZ G d d
� d
�ZdS )� N)�
import_module)�settings)�NotSupportedError�transaction)�utils)�timezone�� force_str)�_lazy_re_compilec
@ s� e Zd ZdZdZdddddddddd � Zd
ddd
�Zi ZdZdZ dZ
de Zde
ZdZ
dZed�Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd�d d!�Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd�d*d+�Zd,d-� Zd.d/� Zd0d1� Zd2d3� Z d4d5� Z!d6d7� Z"d�d:d;�Z#d<d=� Z$d>d?� Z%d@dA� Z&dBdC� Z'd�dDdE�Z(dFdG� Z)dHdI� Z*dJdK� Z+dLdM� Z,dNdO� Z-dPdQ� Z.dRdS� Z/dTdU� Z0dVdW� Z1dXdY� Z2dZd[� Z3d\d]� Z4d^d_� Z5d`da� Z6d8d8db�dcdd�Z7dedf� Z8dgdh� Z9didj� Z:dkdl� Z;d�dndo�Z<d�dpdq�Z=drds� Z>e>Z?dtdu� Z@dvdw� ZAdxdy� ZBdzd{� ZCd|d}� ZDd�d~d�ZEd�d�� ZFd�d�� ZGd�d�� ZHd�d�� ZId�d�� ZJd�d�� ZKd�d�� ZLd�d�� ZMd�d�� ZNd�d�� ZOd�d�� ZPd�d�� ZQd�d�� ZRd�d�� ZSd�d�� ZTd�d�d��ZUd�d�d��ZVd�d�d��ZWd�d�d��ZXd�d�d��ZYdS )��BaseDatabaseOperationsz�
Encapsulate backend-specific differences, such as the way a backend
performs ordering or calculates the ID of a recently-inserted row.
zdjango.db.models.sql.compiler)i ���� )i ���)l���� � ���� )r r )r r )r r
) �SmallIntegerField�IntegerField�BigIntegerField�PositiveBigIntegerField�PositiveSmallIntegerField�PositiveIntegerField�SmallAutoField� AutoField�BigAutoField�UNION� INTERSECT�EXCEPT)�union�intersection�
differenceN� PRECEDING� FOLLOWINGz
UNBOUNDED zCURRENT ROWz
[\w\-_()]+c C s || _ d | _d S �N)�
connection�_cache)�selfr! � r$ �D/usr/lib/python3/dist-packages/django/db/backends/base/operations.py�__init__; s
zBaseDatabaseOperations.__init__c C � dS )z�
Return any SQL needed to support auto-incrementing primary keys, or
None if no SQL is necessary.
This SQL is executed when a table is created.
Nr$ )r# �table�columnr$ r$ r% �autoinc_sql? � z"BaseDatabaseOperations.autoinc_sqlc C s t |�S )z�
Return the maximum allowed batch size for the backend. The fields
are the fields going to be inserted in the batch, the objs contains
all the objects to be inserted.
)�len)r# �fields�objsr$ r$ r% �bulk_batch_sizeH � z&BaseDatabaseOperations.bulk_batch_sizec C r'