+
    Tj8                         ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t
 ^ RIHt ^ RIHt ]! R	. ]P                  OR
NRNRNRNRN4      t]! RR4      t]! R. ]
P                  ORN4      t	 ! R R]4      tR# )    )
namedtupleN)
FIELD_TYPE)BaseDatabaseIntrospection)	FieldInfo)	TableInfo)Index)
OrderedSetr   extrais_unsignedhas_json_constraintcomment	data_typeInfoLinez`col_name data_type max_len num_prec num_scale extra column_default collation is_unsigned commentr   c            	         a a ] tR t^t o/ ]P
                  Rb]P                  Rb]P                  Rb]P                  Rb]P                  Rb]P                  Rb]P                  Rb]P                  Rb]P                  Rb]P                  Rb]P                  Rb]P                   R	b]P"                  R
b]P$                  Rb]P&                  Rb]P(                  Rb]P*                  Rb]P,                  R]P.                  R]P0                  R]P2                  R/CtV 3R ltR tR tRR ltR tR t R t!R t"Rt#Vt$V ;t%# )DatabaseIntrospection	TextField	CharFieldDecimalField	DateFieldDateTimeField
FloatFieldIntegerField	JSONFieldBigIntegerFieldSmallIntegerField	TimeFieldc                B  < \         SV `  W4      pR VP                  9   d   VR8X  d   R# VR8X  d   R# VR8X  d   R# VP                  '       d   VR8X  d   R# VR8X  d   R# VR8X  d   R	# VP                  P                  4       R
8X  d   R# VP                  '       d   R# V# )auto_incrementr   	AutoFieldr   BigAutoFieldr   SmallAutoFieldPositiveBigIntegerFieldPositiveIntegerFieldPositiveSmallIntegerFieldUUID	UUIDFieldr   )superget_field_typer
   r   r   upperr   )selfr   description
field_type	__class__s   &&& [/var/www/idalgo/venv/lib/python3.14/site-packages/django/db/backends/mysql/introspection.pyr(   $DatabaseIntrospection.get_field_type8   s    W+IC
{000^+"00%22'"""..0~--222  &&(F2 ***    c           
         VP                  R4       VP                  4        Uu. uF8  p\        V^ ,          RRRR/P                  V^,          4      V^,          4      NK:  	  up# u upi )z>Return a list of table and view names in the current database.z
            SELECT
                table_name,
                table_type,
                table_comment
            FROM information_schema.tables
            WHERE table_schema = DATABASE()
            z
BASE TABLEtVIEWv)executefetchallr   get)r*   cursorrows   && r.   get_table_list$DatabaseIntrospection.get_table_listP   sk    		
 (
( c!f|S&#>BB3q6JCPQFS(
 	
 
s   >A%c           	        / pV P                   P                  '       d_   V P                   P                  P                  '       d9   VP	                  RV.4       VP                  4        Uu0 uF  qD^ ,          kK  	  ppVP	                  RV.4       VP                  4       pV'       d
   V^ ,          MRpVP	                  RWR.4       VP                  4        Uu/ uF  qf^ ,          \        V!  bK  	  ppVP	                  RV P                   P                  P                  V4      ,          4       R p. p	VP                   EF  pWv^ ,          ,          p
T	P                  \        . VR,          OV! V
P                  4      ;'       g
    V^,          NV! V
P                  4      ;'       g
    V^,          NV! V
P                  4      ;'       g
    V^,          NV! V
P                  4      ;'       g
    V^,          NV^,          NV
P                   NV
P"                  NV
P$                  NV
P&                  NV^ ,          V9   NV
P(                  NV
P*                  N5!  4       EK!  	  V	# u upi u upi )zR
Return a description of the table with the DB-API cursor.description
interface."
av  
                SELECT c.constraint_name AS column_name
                FROM information_schema.check_constraints AS c
                WHERE
                    c.table_name = %s AND
                    LOWER(c.check_clause) =
                        'json_valid(`' + LOWER(c.constraint_name) + '`)' AND
                    c.constraint_schema = DATABASE()
                z
            SELECT  table_collation
            FROM    information_schema.tables
            WHERE   table_schema = DATABASE()
            AND     table_name = %s
             ad  
            SELECT
                column_name, data_type, character_maximum_length,
                numeric_precision, numeric_scale, extra, column_default,
                CASE
                    WHEN collation_name = %s THEN NULL
                    ELSE collation_name
                END AS collation_name,
                CASE
                    WHEN column_type LIKE '%% unsigned' THEN 1
                    ELSE 0
                END AS is_unsigned,
                column_comment
            FROM information_schema.columns
            WHERE table_name = %s AND table_schema = DATABASE()
            zSELECT * FROM %s LIMIT 1c                 $    V e   \        V 4      # T # N)int)is   &r.   to_int;DatabaseIntrospection.get_table_description.<locals>.to_int   s    ]3q611r0   :N   N)
connectionmysql_is_mariadbfeaturescan_introspect_json_fieldr5   r6   fetchoner   ops
quote_namer+   appendr   max_lennum_prec	num_scalecolumn_default	collationr
   r   r   r   )r*   r8   
table_namejson_constraintsr9   default_column_collationline
field_inforB   fieldsinfos   &&&        r.   get_table_description+DatabaseIntrospection.get_table_descriptiona   sb   
 OO,,,((BBB NN  39//2CD2C3A2CD L	
 oo-03q6b  	  &2#	
& <B??;LM;L41gx.;L
M&)<)<)G)G
)SS	
	2 &&D1g&DMM "X4<<(33DG 4<<(33DG 4==)44T!W	
 4>>*55d1g G '' NN JJ $$ G// LL NN '& G  EL Ns   *I$I)c                ~    V P                  W4       F'  pR VP                  9   g   K  RVRVP                  /.u # 	  . # )r   tablecolumn)rY   r
   name)r*   r8   rR   table_fieldsrV   s   &&&& r.   get_sequences#DatabaseIntrospection.get_sequences   sC    44VHJ:#3#33 *h
HII I 	r0   c                    VP                  RV.4       VP                  4        UUUu/ uF
  w  r4pW4V3bK  	  uppp# u upppi )z~
Return a dictionary of {field_name: (field_name_other_table,
other_table)} representing all foreign keys in the given table.
a  
            SELECT column_name, referenced_column_name, referenced_table_name
            FROM information_schema.key_column_usage
            WHERE table_name = %s
                AND table_schema = DATABASE()
                AND referenced_table_schema = DATABASE()
                AND referenced_table_name IS NOT NULL
                AND referenced_column_name IS NOT NULL
            )r5   r6   )r*   r8   rR   
field_nameother_fieldother_tables   &&&   r.   get_relations#DatabaseIntrospection.get_relations   sW    
 	 L	
 9?8I
8I4
 k228I
 	
 
s   =c                    VP                  RV.4       VP                  4       pV'       g!   V P                  P                  P                  # V^ ,          # )zn
Retrieve the storage engine for a given table. Return the default
storage engine if the table doesn't exist.
z
            SELECT engine
            FROM information_schema.tables
            WHERE
                table_name = %s AND
                table_schema = DATABASE()
            )r5   rI   rE   rG   _mysql_storage_engine)r*   r8   rR   results   &&& r.   get_storage_engine(DatabaseIntrospection.get_storage_engine   sM    
 	 L		
 "??++AAAayr0   c                   \        4       p\        P                  ! V4      ^ ,          pR VP                  4        4       pV F  pVP                  \        P
                  P                  8X  g   K.  V P                  P                  P                  VP                  4      VP                  8X  g   Kn  VP                  ^R V9   g   K  VP                  VP                  ^R 4       K  	  V# )r   c              3   L   "   T F  qP                   '       d   K  Vx  K  	  R # 5ir?   )is_whitespace).0tokens   & r.   	<genexpr>BDatabaseIntrospection._parse_constraint_columns.<locals>.<genexpr>   s     T%8E@S@S%%%8s   $
$)r	   sqlparseparseflattenttypetokensNamerE   rJ   rK   valueadd)r*   check_clausecolumnscheck_columns	statementry   rq   s   &&&    r.   _parse_constraint_columns/DatabaseIntrospection._parse_constraint_columns   s    "NN<03	TY%6%6%8TEx333OO''225;;?5;;NKK"%0!!%++a"34  r0   c                   / pRpVP                  WB.4       VP                  4        F  w  rVrxp	WS9  d[   R\        4       RV	R8H  RV	R9   RRRRR	V'       d   Wx3MR
/W5&   V P                  P                  P
                  '       d   . W5,          R&   W5,          R,          P                  V4       K  	  V P                  P                  P                  '       d   ^ p
V P                  W4       Uu0 uF  qP                  kK  	  ppV P                  P                  '       d   RpMRpVP                  W.4       VP                  4        FI  w  r^V P                  W4      p\        V4      V08X  d   V
^,          p
RV
,          pRVRRRRRRRRR	R
/W5&   KK  	  VP                  RV P                  P                  P                  V4      ,          4       VP                  4        Uu. uF  pVR,          V^
,          3,           NK  	  up EF  w  pppppppVV9  dO   R\        4       RRRV'       * RRR	R
/VV&   V P                  P                  P
                  '       d   . VV,          R&   RVV,          R&   VR8X  d   \        P                   MVP#                  4       VV,          R&   VV,          R,          P                  V4       V P                  P                  P
                  '       g   K  VV,          R,          P%                  VR8X  d   RMR4       EK  	  VP'                  4        F  p\)        VR,          4      VR&   K  	  V# u upi u upi )z]
Retrieve any constraints or keys (unique, pk, fk, check, index) across
one or more columns.
a  
            SELECT kc.`constraint_name`, kc.`column_name`,
                kc.`referenced_table_name`, kc.`referenced_column_name`,
                c.`constraint_type`
            FROM
                information_schema.key_column_usage AS kc,
                information_schema.table_constraints AS c
            WHERE
                kc.table_schema = DATABASE() AND
                (
                    kc.referenced_table_schema = DATABASE() OR
                    kc.referenced_table_schema IS NULL
                ) AND
                c.table_schema = kc.table_schema AND
                c.constraint_name = kc.constraint_name AND
                c.constraint_type != 'CHECK' AND
                kc.table_name = %s
            ORDER BY kc.`ordinal_position`
        r~   primary_keyPRIMARY KEYuniqueindexFcheckforeign_keyNordersa  
                    SELECT c.constraint_name, c.check_clause
                    FROM information_schema.check_constraints AS c
                    WHERE
                        c.constraint_schema = DATABASE() AND
                        c.table_name = %s
                a3  
                    SELECT cc.constraint_name, cc.check_clause
                    FROM
                        information_schema.check_constraints AS cc,
                        information_schema.table_constraints AS tc
                    WHERE
                        cc.constraint_schema = DATABASE() AND
                        tc.table_schema = cc.constraint_schema AND
                        cc.constraint_name = tc.constraint_name AND
                        tc.constraint_type = 'CHECK' AND
                        tc.table_name = %s
                z__unnamed_constraint_%s__TzSHOW INDEX FROM %s:N   NBTREEtypeDDESCASC>   UNIQUEr   )r5   r6   r	   rE   rG   supports_index_column_orderingr|    can_introspect_check_constraintsrY   r^   rF   r   setrJ   rK   r   suffixlowerrL   valueslist)r*   r8   rR   constraints
name_query
constraintr]   	ref_table
ref_columnkindunnamed_constraints_indexrX   r~   
type_queryr}   constraint_columnsxr\   
non_uniquer   colseqordertype_s   &&&                    r.   get_constraints%DatabaseIntrospection.get_constraints   s:   
 
& 	z<0?E?P;J	t,z|!4=#8d&??UU!jI#:d+' ??++JJJ8:K+H5#I.226: @Q ??##DDD()%&*&@&@&T&Td		&T   ///

 NN:|4,2OO,=(
%)%C%C &" )*zl:-2-!<?X!XJ1!5eUT!4+' ->& 	 4??#6#6#A#A*#MM	
 '-oo&7G
&7AbEQrUH&7G
BE:uffeU K'z|!5*nU!4&E" ??++JJJ35K&x0*.Kw' % 0ekkm v& y)--f5''FFFE"8,33eslFPUV'G
* &,,.J$(I)>$?Jy! /M^G
s   +M!M )r   )&__name__
__module____qualname____firstlineno__r   BLOBCHARDECIMAL
NEWDECIMALDATEDATETIMEDOUBLEFLOATINT24JSONLONGLONGLONGSHORTSTRINGTIME	TIMESTAMPTINY	TINY_BLOBMEDIUM_BLOB	LONG_BLOB
VAR_STRINGdata_types_reverser(   r:   rY   r`   rf   rk   r   r   __static_attributes____classdictcell____classcell__)r-   __classdict__s   @@r.   r   r      s     	N 	~	
 	 	_ 	< 	, 	. 	 	 	. 	- 	; 	  	o!" 	#$ 	kk{+00
"[z
,(q qr0   r   )collectionsr   ru   MySQLdb.constantsr   %django.db.backends.base.introspectionr   r   BaseFieldInfor   BaseTableInfodjango.db.modelsr   django.utils.datastructuresr	   _fieldsr   r   r   r0   r.   <module>r      s    "  ( K L L " 2			 	 		
 	 	
	 $
 {$Gm&;&;$GY$GH	N5 Nr0   