
    xIf                     X   d Z ddlZddlmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZ ddlmZ ddlT ddlT ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ i xZZg dZej        j        ddZ e d  ej!        d          D                       Z"e"d         dz  e"d         dz  z   e"d         z   Z#dS )z
MariaDB Connector/Python module enables python programs to access MariaDB and
MySQL databases, using an API which is compliant with the Python DB API 2.0
(PEP-249).
    N   )	DataErrorDatabaseErrorErrorIntegrityErrorInterfaceErrorInternalErrorNotSupportedErrorOperationalError	PoolErrorProgrammingErrorWarningmariadbapi_version)	fieldinfo)*)Cursor)__version__)__version_info__)
__author__)
Connection)r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   )connectionclassc                 6   |rXd|v rT|d         t           j        vrt          j        di |}nt           j        |d                  }|                                }|S  | |i |}t	          |t           j        j                  st          j        d|z            |S )a  
    Creates a MariaDB Connection object.

    By default the standard connectionclass mariadb.connections.Connection
    will be created.

    Parameter connectionclass specifies a subclass of
    mariadb.Connection object. If not specified default will be used.
    This optional parameter was added in version 1.1.0.

    Connection parameters are provided as a set of keyword arguments:
        - host:
            The host name or IP address of the database server.
            If MariaDB Connector/Python was built with MariaDB Connector/C 3.3
            it is also possible to provide a comma separated list of hosts for
            simple fail over in case of one or more hosts are not available.
        - user, username:
            The username used to authenticate with the database server
        - password, passwd:
            The password of the given user
        - database, db:
            database (schema) name to use when connecting with the database
            server
        - unix_socket:
            The location of the unix socket file to use instead of using an IP
            port to connect. If socket authentication is enabled, this can also
            be used in place of a password.
        - port:
            port number of the database server. If not specified the default
            value of 3306 will be used.
        - connect_timeout:
            connect timeout in seconds
        - read_timeout:
            read timeout in seconds
        - write_timeout:
            write timeout in seconds
        - local_infile:
            Enables or disables the use of LOAD DATA LOCAL INFILE statements.
        - compress= False:
            Uses the compressed protocol for client server communication. If
            the server doesn't support compressed protocol, the default
            protocol will be used.
        - init_command:
            Command(s) which will be executed when connecting and reconnecting
            to the database server
        - default_file:
            Read options from the specified option file. If the file is an
            empty string, default configuration file(s) will be used
        - default_group:
            Read options from the specified group
        - plugin_dir:
            Directory which contains MariaDB client plugins.
        - reconnect:
            Enables or disables automatic reconnect. Available since
            version 1.1.4
        - ssl_key:
            Defines a path to a private key file to use for TLS. This option
            requires that you use the absolute path, not a relative path. The
            specified key must be in PEM format
        - ssl_cert:
            Defines a path to the X509 certificate file to use for TLS.
            This option requires that you use the absolute path, not a relative
            path. The X609 certificate must be in PEM format.
        - ssl_ca:
            Defines a path to a PEM file that should contain one or more X509
            certificates for trusted Certificate Authorities (CAs) to use for
            TLS.  This option requires that you use the absolute path, not a
            relative path.
        - ssl_capath:
            Defines a path to a directory that contains one or more PEM files
            that contains one X509 certificate for a trusted Certificate
            Authority (CA)
        - ssl_cipher:
            Defines a list of permitted cipher suites to use for TLS
        - ssl_crlpath:
            Defines a path to a PEM file that should contain one or more
            revoked X509 certificates to use for TLS. This option requires
            that you use the absolute path, not a relative path.
        - ssl_verify_cert:
            Enables server certificate verification.
        - ssl:
            The connection must use TLS security or it will fail.
        - tls_version:
            A comma-separated list (without whitespaces) of TLS versions.
            Valid versions are TLSv1.0, TLSv1.1,TLSv1.2 and TLSv1.3.
            Added in version 1.1.7.
        - autocommit=False:
            Specifies the autocommit settings.
            True will enable autocommit, False will disable it (default).
        - converter:
            Specifies a conversion dictionary, where keys are FIELD_TYPE
            values and values are conversion functions

    	pool_namez+%s is not an instance of mariadb.Connection )mariadb_CONNECTION_POOLSConnectionPoolget_connection
isinstanceconnectionsr   r   )r   argskwargspoolc
connections         D/var/www/piapp/venv/lib/python3.11/site-packages/mariadb/__init__.pyconnectr'   *   s    ~  &  +&'*CCC-777701DE##%%AH $1&11Jj'"5"@AA J& (<>H(I J J 	J    c              #   6   K   | ]}t          |d           V  dS )
   N)int).0xs     r&   	<genexpr>r.      s*      NN1C2JJNNNNNNr(   .i'  i     )$__doc__r   _mariadbr   r   r   r   r   r	   r
   r   r   r   r   r   fieldr   mariadb.dbapi20mariadb.connectionpoolmariadb.cursorsr   mariadb.release_infor   r   r   mariadb.connectionsr   _POOLSr   __all__r    r'   tuplesplitclient_version_infoclient_versionr   r(   r&   <module>r?      s   
                                       $ $ $ $ " " " " " " ; ; ; ; ; ; E E E E E E 9 9 9 9 9 9 * * * * * *   	0 0 0 $+#6#A l l l l l^ eNN0H0B0H0M0MNNNNN $Q'%/T!"$7$:;r(   