
    ɯeiW9                        U d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	m
Z
mZmZmZ ddlmZ ddlmZ e	rd dlmZ dd	lmZ  e       Zej.                  d
z  Zej.                  dz  Zd ZdZdZdZdZdZdZ dZ!dZ" G d de      Z#ddZ$ddZ%ddZ&ddZ' e#degd        e#degd        e#degd        e#d egd!        e#d"egd#        e#d$egd%        e#d&egd'        e#d(egd)        e#d*egd+        e#d,ege'       e#d-ege%       e#d.egd/        e#d0egd1        e#d2g d3        e#d4egd5        e#d6egd7        e#d8ege$       e#d9ege&       e#d:egd;        e#d<egd=        e#d>egd?       fZ(d@e)dA<    ee*      Z+dBe)dC<    ee,      Z-dDe)dE<   g Z.dFe)dG<   g Z/dHe)dI<   g Z0dFe)dJ<   g Z1dHe)dK<   g Z2dFe)dL<   g Z3dHe)dM<   g Z4dFe)dN<   g Z5dHe)dO<    e6e(      D ]  \  Z7Z8e8jr                  e-e7<   e7e+e8jr                  <   e8jt                  Z;e;D ]  Z:e:ek(  r-e.jy                  e7       e/jy                  e8jr                         5e:ek(  r-e4jy                  e7       e5jy                  e8jr                         ge:ek(  r-e2jy                  e7       e3jy                  e8jr                         e:ek(  se0jy                  e7       e1jy                  e8jr                           ddPZ=ddQZ>ddRZ?ddSZ@ddTZAddUZBddVZCddWZDddXZEdYZFdZZGd[ZHd\ZId]ZJd^ZKd_ZLd`ZMdaZNdbZOe G dc dde             ZP G de dfe      ZQ G dg dhe      ZR G di dje      ZS G dk dle      ZTdmZUdnZVdoZWdpZXdqZYdrZZdsZ[dtZ\duZ]dvZ^dwZ_dxZ`dyZadzZbd{Zcd|Zdd}Zed~ZfdZgdZhdZidZjdZkdZlde)d<   e G d de             Zme G d de             Zne G d de             ZodZpepdz  Zqeqdz  Zre G d de             ZsdZtdZudZvdZwdZxdZydeqz  ZzdZ{dZ|dZ}dZ~dZdZdgZedediZdZdZdZdZy)    )annotations)defaultdict)Enumautounique)TYPE_CHECKINGAnyCallableDefaultDict
NamedTuple   )pyarrow)_resolve_platform_dirs)DataType)ResultMetadataV2zconnections.tomlzconfig.toml      comcnz\.[a-zA-Z]{1,63}$z*snowflakecomputing(\.[a-zA-Z]{1,63}){1,2}$ENABLE_FIX_1375538c                  ,    e Zd ZU ded<   ded<   ded<   y)	FieldTypestrname	list[int]
dbapi_typez&Callable[[ResultMetadataV2], DataType]pa_typeN__name__
__module____qualname____annotations__     _/var/www/html/glpi_dashboard/venv/lib/python3.12/site-packages/snowflake/connector/constants.pyr   r   +   s    
I33r$   r   c                D   | j                   t        | j                         dk(  sJ d       | j                  xs ddkD  sJ d       t        | j                   d   j                     }t        j                  |j                  | j                   d         | j                        S )z
    Generate the Arrow type represented by the given vector column metadata.
    Vectors are represented as Arrow fixed-size lists.
    r   zNInvalid result metadata for vector type: expected a single field to be definedr   zFInvalid result metadata for vector type: expected a positive dimension)fieldslenvector_dimensionFIELD_TYPES	type_codepalist_r   metadata
field_types     r%   vector_pa_typer1   1   s     	#HOO(<(AXWXA 	!!&Q	
 TST 
 X__Q/99:J88J&&xq'9:H<U<UVVr$   c                "   | j                   t        j                         S t        | j                         dk(  sJ d       t        | j                   d   j
                     }t        j                  |j                  | j                   d               S )zQ
    Generate the Arrow type represented by the given array column metadata.
    r   zMInvalid result metadata for array type: expected a single field to be definedr   )r'   r,   stringr(   r*   r+   r-   r   r.   s     r%   array_pa_typer4   A   s}     yy{ 	HOO!WVW! X__Q/99:J88J&&xq'9:;;r$   c                   | j                   t        j                         S t        | j                   xs g       dk(  sJ d       t        | j                   d   j
                     }t        | j                   d   j
                     }t        j                  |j                  | j                   d         |j                  | j                   d               S )zO
    Generate the Arrow type represented by the given map column metadata.
    r   zTInvalid result metadata for map type: expected a field for key and a field for valuer   r   )r'   r,   r3   r(   r*   r+   map_r   )r/   key_type
value_types      r%   map_pa_typer9   R   s     yy{ 	HOO!r"a'^]^'8??1-778HX__Q/99:J77+,j.@.@QRAS.T r$   c           	     B   | j                   t        j                         S t        d | j                   D              sJ d       t        j                  | j                   D ci c]/  }|j
                  t        |j                     j                  |      1 c}      S c c}w )zR
    Generate the Arrow type represented by the given struct column metadata.
    c              3  8   K   | ]  }|j                   d u  y wN)r   ).0fields     r%   	<genexpr>z!struct_pa_type.<locals>.<genexpr>n   s      #(

$s   z,All fields of a stuct type must have a name.)	r'   r,   r3   allstructr   r*   r+   r   )r/   r>   s     r%   struct_pa_typerB   e   s     yy{ ,4OO  656  99 "	
 JJEOO4<<UCC	
 	
s   !4BFIXEDc                *    t        j                         S r<   r,   int64_s    r%   <lambda>rI      s    
 r$   )r   r   r   REALc                *    t        j                         S r<   )r,   float64rG   s    r%   rI   rI      s    rzz| r$   TEXTc                *    t        j                         S r<   r,   r3   rG   s    r%   rI   rI          ryy{ r$   DATEc                *    t        j                         S r<   )r,   date64rG   s    r%   rI   rI          "))+ r$   	TIMESTAMPc                ,    t        j                  d      S Nnsr,   time64rG   s    r%   rI   rI          "))D/ r$   VARIANTc                *    t        j                         S r<   rO   rG   s    r%   rI   rI      rT   r$   TIMESTAMP_LTZc                ,    t        j                  d      S rW   r,   	timestamprG   s    r%   rI   rI          ",,t, r$   TIMESTAMP_TZc                ,    t        j                  d      S rW   r`   rG   s    r%   rI   rI      rb   r$   TIMESTAMP_NTZc                ,    t        j                  d      S rW   r`   rG   s    r%   rI   rI      rb   r$   OBJECTARRAYBINARYc                *    t        j                         S r<   )r,   binaryrG   s    r%   rI   rI      s     r$   TIMEc                ,    t        j                  d      S rW   rY   rG   s    r%   rI   rI      r[   r$   BOOLEANc                *    t        j                         S r<   )r,   bool_rG   s    r%   rI   rI      s    rxxz r$   	GEOGRAPHYc                *    t        j                         S r<   rO   rG   s    r%   rI   rI      s    BIIK r$   GEOMETRYc                *    t        j                         S r<   rO   rG   s    r%   rI   rI      s    299; r$   VECTORMAPFILEc                *    t        j                         S r<   rO   rG   s    r%   rI   rI      rP   r$   INTERVAL_YEAR_MONTHc                *    t        j                         S r<   rE   rG   s    r%   rI   rI          "((* r$   INTERVAL_DAY_TIMEc                *    t        j                         S r<   rE   rG   s    r%   rI   rI      r{   r$   ztuple[FieldType, ...]r*   zDefaultDict[Any, int]FIELD_NAME_TO_IDzDefaultDict[int, str]FIELD_ID_TO_NAMEr   __binary_typesz	list[str]__binary_type_names__string_types__string_type_names__number_types__number_type_names__timestamp_types__timestamp_type_namesc                     t         S r<   )r   r#   r$   r%   get_binary_typesr          r$   c                    | t         v S r<   )r   	type_names    r%   is_binary_type_namer          +++r$   c                     t         S r<   )r   r#   r$   r%   get_string_typesr      r   r$   c                    | t         v S r<   )r   r   s    r%   is_string_type_namer      r   r$   c                     t         S r<   )r   r#   r$   r%   get_number_typesr      r   r$   c                    | t         v S r<   )r   r   s    r%   is_number_type_namer      r   r$   c                     t         S r<   )r   r#   r$   r%   get_timestamp_typesr      s    r$   c                    | t         v S r<   )r   r   s    r%   is_timestamp_type_namer     s    ...r$   c                    | dk(  S )NrQ   r#   r   s    r%   is_date_type_namer     s    r$   zT%(asctime)s - %(filename)s:%(lineno)d - %(funcName)s() - %(levelname)s - %(message)szutf-8sha256_digestS3AZUREGCSLOCAL_FSUPLOADDOWNLOADzfile://c                  8    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZy)ResultStatusERROR	SUCCEEDEDUPLOADED
DOWNLOADED	COLLISIONSKIPPEDRENEW_TOKENRENEW_PRESIGNED_URLNOT_FOUND_FILE
NEED_RETRY!NEED_RETRY_WITH_LOWER_CONCURRENCYN)r   r    r!   r   r   r   r   r   r   r   r   r   r   r   r#   r$   r%   r   r     s;    EIHJIGK/%NJ(K%r$   r   c                  ,    e Zd ZU ded<   ded<   ded<   y)!SnowflakeS3FileEncryptionMaterialr   query_idquery_stage_master_keyintsmk_idNr   r#   r$   r%   r   r   -  s    MKr$   r   c                  ,    e Zd ZU ded<   ded<   ded<   y)MaterialDescriptorr   r   r   r   key_sizeNr   r#   r$   r%   r   r   3  s    KMMr$   r   c                  ,    e Zd ZU ded<   ded<   ded<   y)EncryptionMetadatar   keyivmatdescNr   r#   r$   r%   r   r   9  s    	HGLr$   r   c                  ,    e Zd ZU ded<   ded<   ded<   y)
FileHeaderz
str | Nonedigestz
int | Nonecontent_lengthzEncryptionMetadata | Noneencryption_metadataNr   r#   r$   r%   r   r   ?  s    22r$   r   
AUTOCOMMIT-CLIENT_SESSION_KEEP_ALIVE_HEARTBEAT_FREQUENCYCLIENT_SESSION_KEEP_ALIVECLIENT_PREFETCH_THREADSCLIENT_TELEMETRY_ENABLED$CLIENT_OUT_OF_BAND_TELEMETRY_ENABLED!CLIENT_STORE_TEMPORARY_CREDENTIALCLIENT_REQUEST_MFA_TOKEN2CLIENT_USE_SECURE_STORAGE_FOR_TEMPORARY_CREDENTIALQUERY_CONTEXT_CACHE_SIZETIMEZONESERVICE_NAME"CLIENT_VALIDATE_DEFAULT_PARAMETERS$PYTHON_CONNECTOR_QUERY_RESULT_FORMAT)ENABLE_STAGE_S3_PRIVATELINK_FOR_US_EAST_1MULTI_STATEMENT_COUNTzContent-TypezContent-EncodingzAccept-Encodingacceptz
User-AgentzX-Snowflake-Servicezapplication/octet-streamr   4OCSP_ROOT_CERTS_DICT_LOCK_TIMEOUT_DEFAULT_NO_TIMEOUTc                       e Zd ZdZdZdZdZdZy)OCSPModea  OCSP Mode enumerator for all the available modes.

    OCSP mode descriptions:
        FAIL_CLOSED: If the client or driver does not receive a valid OCSP CA response for any reason,
            the connection fails.
        FAIL_OPEN: A response indicating a revoked certificate results in a failed connection. A response with any
            other certificate errors or statuses allows the connection to occur, but denotes the message in the logs
            at the WARNING level with the relevant details in JSON format.
        INSECURE (deprecated): The connection will occur anyway.
        DISABLE_OCSP_CHECKS: The OCSP check will not happen. If the certificate is valid then connection will occur.
    FAIL_CLOSED	FAIL_OPENINSECUREDISABLE_OCSP_CHECKSN)r   r    r!   __doc__r   r   r   r   r#   r$   r%   r   r   i  s    
  KIH/r$   r   c                  ,    e Zd ZdZ e       Z e       Zy)FileTransferTypez:This enum keeps track of the possible file transfer types.N)r   r    r!   r   r   PUTGETr#   r$   r%   r   r   }  s    D
&C
&Cr$   r   c                  @    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZy)QueryStatusr   r   r   r                  	   
         N)r   r    r!   RUNNINGABORTINGSUCCESSFAILED_WITH_ERRORABORTEDQUEUEDFAILED_WITH_INCIDENTDISCONNECTEDRESUMING_WAREHOUSEQUEUED_REPARING_WAREHOUSE	RESTARTEDBLOCKEDNO_DATAr#   r$   r%   r   r     sG    GHGGFL !IGGr$   r   i   c                      e Zd ZdZdZy)IterUnitrowtableN)r   r    r!   ROW_UNIT
TABLE_UNITr#   r$   r%   r   r     s    HJr$   r   i   l        l        i  P i'  r   r   iX  iQ 
SF_PARTNERSNOWFLAKE_TEST_MODE$SNOWFLAKE_DISABLE_PLATFORM_DETECTIONtrueGLOBALCHINAa  Verify that the hostnames and port numbers in SYSTEM$ALLOWLIST are added to your firewall's allowed list.
To further troubleshoot your connection you may reference the following article: https://docs.snowflake.com/en/user-guide/client-connectivity-troubleshooting/overview.zsession:role:{role}oauth_authorization_codeoauth_client_credentialsN)r/   r   returnr   )r	  r   )r   r   r	  bool)r	  r
  )
__future__r   collectionsr   enumr   r   r   typingr   r	   r
   r   r   optionsr   r,   sf_dirsr   r   cursorr   DIRSuser_config_pathCONNECTIONS_FILECONFIG_FILEDBAPI_TYPE_STRINGDBAPI_TYPE_BINARYDBAPI_TYPE_NUMBERDBAPI_TYPE_TIMESTAMP_DEFAULT_HOSTNAME_TLD_CHINA_HOSTNAME_TLD_TOP_LEVEL_DOMAIN_REGEX_SNOWFLAKE_HOST_SUFFIX_REGEX'_PARAM_USE_SCOPED_TEMP_FOR_PANDAS_TOOLSr   r1   r4   r9   rB   r*   r"   r   r~   r   r   r   r   r   r   r   r   r   r   	enumerateidxr0   r   r   dbapi_typesappendr   r   r   r   r   r   r   r   r   
LOG_FORMATUTF8SHA256_DIGESTS3_FSAZURE_FSGCS_FSr   CMD_TYPE_UPLOADCMD_TYPE_DOWNLOADFILE_PROTOCOLr   r   r   r   r   PARAMETER_AUTOCOMMIT7PARAMETER_CLIENT_SESSION_KEEP_ALIVE_HEARTBEAT_FREQUENCY#PARAMETER_CLIENT_SESSION_KEEP_ALIVE!PARAMETER_CLIENT_PREFETCH_THREADS"PARAMETER_CLIENT_TELEMETRY_ENABLED&PARAMETER_CLIENT_TELEMETRY_OOB_ENABLED+PARAMETER_CLIENT_STORE_TEMPORARY_CREDENTIAL"PARAMETER_CLIENT_REQUEST_MFA_TOKEN<PARAMETER_CLIENT_USE_SECURE_STORAGE_FOR_TEMPORARY_CREDENTIAL"PARAMETER_QUERY_CONTEXT_CACHE_SIZEPARAMETER_TIMEZONEPARAMETER_SERVICE_NAME,PARAMETER_CLIENT_VALIDATE_DEFAULT_PARAMETERS.PARAMETER_PYTHON_CONNECTOR_QUERY_RESULT_FORMAT3PARAMETER_ENABLE_STAGE_S3_PRIVATELINK_FOR_US_EAST_1PARAMETER_MULTI_STATEMENT_COUNTHTTP_HEADER_CONTENT_TYPEHTTP_HEADER_CONTENT_ENCODINGHTTP_HEADER_ACCEPT_ENCODINGHTTP_HEADER_ACCEPTHTTP_HEADER_USER_AGENTHTTP_HEADER_SERVICE_NAMEHTTP_HEADER_VALUE_OCTET_STREAMr   r   r   r   kilobytemegabytegigabyter   S3_DEFAULT_CHUNK_SIZES3_MAX_OBJECT_SIZES3_MAX_PART_SIZES3_MIN_PART_SIZES3_MAX_PARTSS3_CHUNK_SIZEAZURE_CHUNK_SIZEREQUEST_CONNECTION_TIMEOUTREQUEST_READ_TIMEOUTDAY_IN_SECONDSENV_VAR_PARTNERENV_VAR_TEST_MODE"ENV_VAR_DISABLE_PLATFORM_DETECTION'ENV_VAR_BOOL_POSITIVE_VALUES_LOWERCASED_DOMAIN_NAME_MAP_CONNECTIVITY_ERR_MSG_OAUTH_DEFAULT_SCOPEOAUTH_TYPE_AUTHORIZATION_CODEOAUTH_TYPE_CLIENT_CREDENTIALSr#   r$   r%   <module>rY     sH   " # # # H H " + (  ((+== ##m3      . L *> '4
 4W <"&8 "3!4>R !2 3=S !2 3=R !5 6@U ())
 $5#6@U (),
 (),
 (),
 8):(;^T7(9':MR#4"5?T ())
 95IJ&7%8BW %6$7AV 8):(;^T5&7%8+N!2 3=R "%&$
  %&$D&" DL +6c*: ' :*5c*: ' :	 !# Y #	 !# Y #	 !# Y #! 9 !$& 	 & - 8OC&OOS(+Z__%''K! 8
**!!#&&&z7//$$S)"))*//:,,!!#&&&z7,,!!#&&&z788(,,,/3   		  L4 L L
   3 3 $ 3 8 'B #$= !%? ")O &.Q +%? "8 = &@ " ' /S ,1W ./ 4 #: ) 1 /  % 0 !;  =? 4c > 0t 0 0& t   $  $ d?d? t   $     x<      ) %K " ,2( ')85H'R ]  -  :  : r$   