Server : Apache System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64 User : dh_edsupp ( 6597262) PHP Version : 8.2.26 Disable Function : NONE Directory : /lib/python3/dist-packages/django/db/backends/sqlite3/__pycache__/ |
Upload File : |
o 3�aV: � @ s� d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl m Z d dlmZm Z mZ d dlmZ d dlmZ d d lmZ d d lmZmZmZ d dlmZ G dd � d e�ZdS )� N)� lru_cache)�chain)�settings)� FieldError)� DatabaseError�NotSupportedError�models)�BaseDatabaseOperations)�Col)�timezone)� parse_date�parse_datetime� parse_time)�cached_propertyc s` e Zd ZdZddd�ZdZdd� Zdd� Zd d � Zdd� Z dPdd�Z dPdd�Zdd� Zdd� Z dd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zed*d+� �Zd,d,d-�d.d/�Zd0d1� Zd2d3� Zd4d5� Z� fd6d7�Zd8d9� Zd:d;� Z d<d=� Z!d>d?� Z"d@dA� Z#dBdC� Z$dDdE� Z%� fdFdG�Z&dHdI� Z'dJdK� Z(dLdM� Z)dQ� fdNdO� Z*� Z+S )R�DatabaseOperations�text�TEXT)� DateField� DateTimeFieldzEXPLAIN QUERY PLANc C s6 t |�dkrdS t |�dkr| jjjt |� S t |�S )z� SQLite has a compile-time default (SQLITE_LIMIT_VARIABLE_NUMBER) of 999 variables per query. If there's only a single field to insert, the limit is 500 (SQLITE_MAX_COMPOUND_SELECT). � i� )�len� connection�features�max_query_params)�self�fields�objs� r �G/usr/lib/python3/dist-packages/django/db/backends/sqlite3/operations.py�bulk_batch_size s z"DatabaseOperations.bulk_batch_sizec C s� t jt jt jf}t jt jt jt jf}t||�r8|� � D ]}z|j }W n ttfy- Y qw t||�r7t d��qt|t j�rL|jrNt|j�dkrPt d��d S d S d S )Nz{You cannot use Sum, Avg, StdDev, and Variance aggregations on date/time fields in sqlite3 since date/time is saved as text.r zTSQLite doesn't support DISTINCT on aggregate functions accepting multiple arguments.)r r r � TimeField�Sum�Avg�Variance�StdDev� isinstance�get_source_expressions�output_field�AttributeErrorr r � Aggregate�distinctr �source_expressions)r � expression� bad_fields�bad_aggregates�exprr'