| Server IP : 217.160.0.135 / Your IP : 216.73.217.85 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1074145052 ( 1074145052) PHP Version : 8.3.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/python3/dist-packages/django/db/backends/oracle/__pycache__/ |
Upload File : |
�
�|�e�X � �� � d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl m
Z
ddlmZ ddl
mZ ddlmZ dd lmZmZ dd
lmZ d� Z edd
g� � ddlZn# e$ rZ e
dez � � �dZ[ww xY wddlmZ ddlmZ ddlm Z ddl!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z(m)Z) ddl*m+Z+ ed� � � Z, G d� d� � Z- G d� de� � Z. G d� d� � Z/ G d� d � � Z0 G d!� d"� � Z1dS )#ze
Oracle database backend for Django.
Requires cx_Oracle: https://oracle.github.io/python-cx_Oracle/
� N)�contextmanager)�settings)�ImproperlyConfigured)�IntegrityError)�BaseDatabaseWrapper)�async_unsafe)�force_bytes� force_str)�cached_propertyc �r � t j � � � � � � d� � r_ dd l}n$# t
$ r}t
d|z � � �d }~ww xY w|� d� � }| D ]\ }}|� ||� � �d S t j
� | � � d S )N�CYGWINr z_Error loading ctypes: %s; the Oracle backend requires ctypes to operate correctly under Cygwin.�kernel32)�platform�system�upper�
startswith�ctypes�ImportErrorr �CDLL�SetEnvironmentVariableA�os�environ�update)r r �er �name�values �@/usr/lib/python3/dist-packages/django/db/backends/oracle/base.py�_setup_environmentr s� � � ������ � �+�+�H�5�5� #� N��M�M�M�M��� N� N� N�&� (I�KL�(M� N� N�
N����� N���� �;�;�z�*�*��"� :� :�K�D�%��,�,�T�5�9�9�9�9� :� :� �
���'�"�"�"�"�"s �? �
A � A�A )�NLS_LANGz .AL32UTF8)�ORA_NCHAR_LITERAL_REPLACE�TRUEz"Error loading cx_Oracle module: %s� )�DatabaseClient)�DatabaseCreation)�DatabaseFeatures)�DatabaseIntrospection)�DatabaseOperations)�DatabaseSchemaEditor)�Oracle_datetime�dsn)�DatabaseValidationc # � K � d V � d S # t j $ rk} | j d }t |d� � rHt |d� � r8|j dk r-d|j v s d|j v rt
t | j � � � �� d } ~ ww xY w)Nr �code�messagei+ z ORA-02291z ORA-00001)�Database�
DatabaseError�args�hasattrr- r. r �tuple)r �xs r �wrap_oracle_errorsr5 ? s� � � � ��
��������!� � � �
�F�1�I���A�v��� 1��A�y�!�!� 1�
�F�d�N�N�
�A�I�
%�
%��� �)A�)A� �%���-�-�0�0�
�����'���s �
�B�A&A?�?Bc � � e Zd Zdd�ZdS )�!_UninitializedOperatorsDescriptorNc � � |�t d� � �|� � � � � � |j d S )Nz*operators not available as class attribute� operators)�AttributeError�cursor�close�__dict__)�self�instance�clss r �__get__z)_UninitializedOperatorsDescriptor.__get__[ sC � � �� �!M�N�N�N��������!�!�!�� ��-�-� �N)�__name__�
__module__�__qualname__rA � rB r r7 r7 Y s( � � � � � �.� .� .� .� .� .rB r7 c �D � � e Zd ZdZdZi dd�dd�dd�d d
�dd�d
d�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd �d!d"�d
dddddd#dddd$d%d&��Zd'd(d'd)d)d)d*�Zd+Z e� � Z d,d-d.d/d0d1d2d3d.d.d/d/d4�Z
i e
�d5d6d5d5d6d6d7��Zd8Zd9d:d;d<d=d>d?�Z
d@� e
� � � D � � ZdA� e
� � � D � � ZeZeZeZeZeZeZeZeZ� fdB�Z dC� Z!e"dD� � � Z#dE� Z$e"dOdG�� � Z%dH� Z&dI� Z'dJ� Z(dOdK�Z)dL� Z*e+dM� � � Z,e+dN� � � Z-� xZ.S )P�DatabaseWrapper�oracle�Oracle� AutoFieldz3NUMBER(11) GENERATED BY DEFAULT ON NULL AS IDENTITY�BigAutoFieldz3NUMBER(19) GENERATED BY DEFAULT ON NULL AS IDENTITY�BinaryField�BLOB�BooleanFieldz NUMBER(1)� CharFieldzNVARCHAR2(%(max_length)s)� DateField�DATE�
DateTimeField� TIMESTAMP�DecimalFieldz*NUMBER(%(max_digits)s, %(decimal_places)s)�
DurationFieldzINTERVAL DAY(9) TO SECOND(6)� FileField�
FilePathField�
FloatFieldzDOUBLE PRECISION�IntegerFieldz
NUMBER(11)� JSONField�NCLOB�BigIntegerFieldz
NUMBER(19)�IPAddressFieldzVARCHAR2(15)�GenericIPAddressFieldzVARCHAR2(39)z2NUMBER(5) GENERATED BY DEFAULT ON NULL AS IDENTITYzVARCHAR2(%(max_length)s)zVARCHAR2(32))�NullBooleanField�
OneToOneField�PositiveBigIntegerField�PositiveIntegerField�PositiveSmallIntegerField� SlugField�SmallAutoField�SmallIntegerField� TextField� TimeField�URLField� UUIDFieldz%(qn_column)s IN (0,1)z%(qn_column)s IS JSONz%(qn_column)s >= 0)rP r\ ra rc rd re )�clob�nclob�blobz= %sz= UPPER(%s)zFLIKE TRANSLATE(%s USING NCHAR_CS) ESCAPE TRANSLATE('\' USING NCHAR_CS)zMLIKE UPPER(TRANSLATE(%s USING NCHAR_CS)) ESCAPE TRANSLATE('\' USING NCHAR_CS)z> %sz>= %sz< %sz<= %s)�exact�iexact�contains� icontains�gt�gte�lt�lter �endswith�istartswith� iendswithzLIKEC %s ESCAPE '\'zLIKEC UPPER(%s) ESCAPE '\')rr rs r rx ry rz z@REPLACE(REPLACE(REPLACE({}, '\', '\\'), '%%', '\%%'), '_', '\_')z'%%' || {} || '%%'z'%%' || UPPER({}) || '%%'z
{} || '%%'zUPPER({}) || '%%'z
'%%' || {}z'%%' || UPPER({}))rr rs r ry rx rz c �&