c\gVdZddlZddlmZmZmZmZmZm Z m Z m Z m Z m Z mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!ddlm"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ddlm0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;mZ>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZH dZIdZJdZKdZLd ZMdZN dZOdZPdZQd ZRdZSd ZTeQZU dZVdZWdZXd ZY dZZdZ[dZ\d Z]dZ^d Z_Gd d Z`GddZaddZbejcdejcdfdZdddlemfZfmgZg ef\ZhZieg\ZjZkn #el$rYnwxYw[f[gddlmmnZn[neoe2jpD]F\ZqZreqsddsddtZqere2eq<G[q[rdS)apsycopg extensions to the DBAPI-2.0 This module holds all the extensions to the DBAPI-2.0 provided by psycopg. - `connection` -- the new-type inheritable connection class - `cursor` -- the new-type inheritable cursor class - `lobject` -- the new-type inheritable large object class - `adapt()` -- exposes the PEP-246_ compatible adapting mechanism used by psycopg to adapt Python types to PostgreSQL ones .. _PEP-246: https://www.python.org/dev/peps/pep-0246/ N) BINARYARRAYBOOLEAN BOOLEANARRAYBYTES BYTESARRAYDATE DATEARRAY DATETIMEARRAYDECIMAL DECIMALARRAYFLOAT FLOATARRAYINTEGER INTEGERARRAYINTERVAL INTERVALARRAY LONGINTEGERLONGINTEGERARRAY ROWIDARRAY STRINGARRAYTIME TIMEARRAYUNICODE UNICODEARRAYAsIsBinaryBooleanFloatInt QuotedString)PYDATE PYDATETIME PYDATETIMETZ PYINTERVALPYTIME PYDATEARRAYPYDATETIMEARRAYPYDATETIMETZARRAYPYINTERVALARRAY PYTIMEARRAY DateFromPy TimeFromPyTimestampFromPyIntervalFromPy)adaptadapters encodings connectioncursorlobjectXid libpq_version parse_dsn quote_ident string_types binary_typesnew_typenew_array_type register_type ISQLQuoteNotify DiagnosticsColumnConnectionInfoQueryCanceledErrorTransactionRollbackErrorset_wait_callbackget_wait_callbackencrypt_passwordc(|t|tf<dS)z;Register 'callable' as an ISQLQuote adapter for type 'typ'.N)r0r>)typcallables _/var/lib/jenkins/jobs/Dev/workspace/my-venv/lib/python3.11/site-packages/psycopg2/extensions.pyregister_adapterrQ_s!)Hc9 c*eZdZdZdZdZdZdZdS)SQL_INz-Adapt any iterable to an SQL quotable object.c"||_d|_dSN)_seq_conn)selfseqs rP__init__zSQL_IN.__init__gs  rRc||_dSrV)rX)rYconns rPpreparezSQL_IN.prepareks  rRcd|jD}|j/|D],}t|dr||j-d|D}dd|zdzS)Nc,g|]}t|S)r/.0os rP z$SQL_IN.getquoted..qs---aq---rRr^c6g|]}|Sra) getquotedrbs rPrez$SQL_IN.getquoted..vs ...1...rR(s, ))rWrXhasattrr^join)rYpobjsobjqobjss rPrgzSQL_IN.getquotedns.-49--- : ! , ,3 **,KK +++.....ejj'''$..rRcDt|SrV)strrg)rYs rP__str__zSQL_IN.__str__ys4>>##$$$rRN)__name__ __module__ __qualname____doc__r[r^rgrqrarRrPrTrTesV77 / / /%%%%%rRrTc eZdZdZdZddZdS) NoneAdapterzAdapt None to NULL. This adapter is not used normally as a fast path in mogrify uses NULL, but it makes easier to adapt composite types. cdSrVra)rYrms rPr[zNoneAdapter.__init__s rRNULLc|SrVra)rY_nulls rPrgzNoneAdapter.getquoteds rRN)ry)rrrsrtrur[rgrarRrPrwrw}sA    rRrwc ||sdS|st||Sd|vr+d|vrtd|d|d<d|D}|&t|}|||}dd|D}t||S) z4Convert a set of keywords into a connection strings.Ndatabasedbnamez8you can't specify both 'database' and 'dbname' argumentsci|] \}}||| SrVrarckvs rP zmake_dsn..s A A Av11=a===rR c tg|]5\}}d|tt|6S)z{}={})format _param_escaperprs rPrezmake_dsn..sH&&& QNN1mCFF&;&;<<&&&rR)r7 TypeErrorpopitemsupdaterk)dsnkwargstmps rPmake_dsnrs {6{r # V v  JLL L!::j11xB A A A AF nn 6 ((&&llnn&&& ' 'CcNNN JrRz([\\'])z\sct|sdS|d|}||rd|zdz}|S)z9 Apply the escaping rule required by PQconnectdb z''z\\\1')subsearch)s re_escapere_spaces rPrrsJ t gq!!Aq !GcM HrR)register_default_jsonregister_default_jsonb)Range_r}-rV)urure_repsycopg2._psycopgrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCrDrErFrGISOLATION_LEVEL_AUTOCOMMIT ISOLATION_LEVEL_READ_UNCOMMITTEDISOLATION_LEVEL_READ_COMMITTEDISOLATION_LEVEL_REPEATABLE_READISOLATION_LEVEL_SERIALIZABLEISOLATION_LEVEL_DEFAULT STATUS_SETUP STATUS_READY STATUS_BEGIN STATUS_SYNC STATUS_ASYNCSTATUS_PREPAREDSTATUS_IN_TRANSACTIONPOLL_OK POLL_READ POLL_WRITE POLL_ERRORTRANSACTION_STATUS_IDLETRANSACTION_STATUS_ACTIVETRANSACTION_STATUS_INTRANSTRANSACTION_STATUS_INERRORTRANSACTION_STATUS_UNKNOWNrQrTrwrcompilerpsycopg2._jsonrrJSON JSONARRAYJSONB JSONBARRAY ImportErrorpsycopg2._rangerlistrrrreplaceupperrarRrPrs6  F7777777777777777777777777777777777777777777777777777777777777777???????????????????????????????? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#$ !""# (     %5    )*** %%%%%%%%0        F#+j))U##     "IHHHHHHH ++--OD)..00E::   D 1#"""""  D"" # #DAq #r""3++1133AIaLLqqqsD44D<;D<