Files
aitsc/.venv/Lib/site-packages/sqlalchemy/engine/__pycache__/default.cpython-312.pyc

537 lines
87 KiB
Plaintext
Raw Normal View History

2025-02-23 09:07:52 +08:00
<EFBFBD>
2025-08-29 00:34:40 +08:00
<00><19>h.X<00><01><><00>dZddlmZddlZddlZddlZddlZddlmZddl Z ddl m
2025-02-23 09:07:52 +08:00
Z
ddl m Z ddl m Z ddl m Z dd l mZdd
2025-08-29 00:34:40 +08:00
l mZdd l mZdd l mZdd l mZddl mZddl mZddl mZddl mZddl mZddl mZddlZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%ddl&m'Z'ddl&m(Z(d d!lm)Z)d d"lm*Z*d d#lm+Z+d d$lm,Z,d d%l-m.Z.d d&l-m/Z/d d'l-m0Z0d d(l-m1Z1d d$l-m,Z2d d)l3m4Z4d d*l5m6Z6d d+l7m8Z8d d,l7m9Z9d d-l7m:Z:d d.l;m<Z<d d/l=m>Z>d d0l=m?Z?e j.r<>dd1l@mAZAdd2lmBZBdd3lmCZCdd4lmDZDdd5lmEZEdd6lmFZFdd7lmGZGdd8lmHZHdd9lmIZIdd:lmJZJdd;lmKZKdd<lmLZLdd=lmMZMdd>lmNZNdd?lmOZOdd@lPmQZQddAlRmSZSd dBl)mTZTd dCl+mUZUd dDl+mVZVd dEl-mWZWd dFl7mXZXd dGl7mYZYd dHl7mZZZd dIl[m\Z\d dJl[m]Z]d dKl;m^Z^d dLl_m`Z`d dMlambZbd dNlamcZcd dOlamdZdej<>dPej<>ej<>z<00>Zheie!<21>\ZjZkZlZmZnGdQ<64>dRe#<23>ZoGdS<64>dTeo<65>ZpGdU<64>dVe%<25>Zqeqeo_ry)WaDefault implementations of per-dialect sqlalchemy.engine classes.
2025-02-23 09:07:52 +08:00
These are semi-private implementation classes which are only of importance
to database dialect authors; dialects will usually use the classes here
as the base class for their own corresponding classes.
<EFBFBD>)<01> annotationsN)<01> perf_counter)<01>Any)<01>Callable)<01>cast)<01>Dict)<01>List)<01>Mapping)<01>MutableMapping)<01>MutableSequence)<01>Optional)<01>Sequence)<01>Set)<01>Tuple)<01>Type)<01> TYPE_CHECKING)<01>Union<6F>)<01>characteristics)<01>cursor)<01>
interfaces)<01>
Connection)<01>
CacheStats)<01> DBAPICursor)<01>Dialect)<01> ExecuteStyle)<01>ExecutionContext)<01>
ObjectKind)<01> ObjectScope<70>)<01>event)<01>exc)<01>pool)<01>util)<01>compiler)<01>dml)<01>
expression)<01>type_api)<01> is_tuple_type)<01>_NoArg)<01> DDLCompiler)<01>InsertmanyvaluesSentinelOpts)<01> SQLCompiler)<01> quoted_name)<01>Final)<01>Literal)<01>
2025-08-29 00:34:40 +08:00
ModuleType)<01>Engine)<01>ResultFetchStrategy)<01>_CoreMultiExecuteParams)<01>_CoreSingleExecuteParams)<01>_DBAPICursorDescription)<01>_DBAPIMultiExecuteParams)<01>_DBAPISingleExecuteParams)<01>_ExecuteOptions)<01>_MutableCoreSingleExecuteParams)<01> _ParamStyle)<01>ConnectArgsType)<01>DBAPIConnection)<01> DBAPIModule)<01>IsolationLevel)<01>Row)<01>URL)<01>_ListenerFnType)<01>Pool)<01>PoolProxiedConnection)<01>
2025-02-23 09:07:52 +08:00
Executable)<01>Compiled)<01>Linting)<01>ResultColumnsEntry)<01>DMLState)<01>
UpdateBase)<01> BindParameter)<01>Column)<01>_BindProcessorType)<01>_ResultProcessorType)<01>
2025-08-29 00:34:40 +08:00
TypeEnginez \s*SELECTc <01>T<00>eZdZUdZej
2025-02-23 09:07:52 +08:00
ZejZejZ
ejZ dZ dZdZdZdZdZej(j*ZdZded<dZded<dZeZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2e3jhe5jl<00>e5jn<00>d <09><02>Z8e3jhe3jre3jtd
<EFBFBD>e3jtd
2025-08-29 00:34:40 +08:00
<EFBFBD>e3jre3jre3jre3jvd <0B><07>Z<d ed <dZ=dZ>dZ?dZ@ded<dZAded<dZBded<dZCded<dZDdZEiZFded<dZGdZH dZI dZJ dZK dZLdZMded<dZNded<eOj<4F>ZQded<dZRd ed!<d"ZSdZTdZUdZVdZWdZXdZYded#<dZZdZ[dZ\d$Z]e3j<33>d%d&<26>'<27>ddddddde_j<5F>deaej<><00>ddf dhd(<28><05>Zcede3j<33>d)d*<2A>d+<2B><00><00>Zfe3j<33>d,<2C><00>Zhe3j<33>d-<2D><00>ZidZjdZke3j<33>did.<2E><04>Zle3j<33>d/<2F><00>Zmdjd0<64>Zne3j<33>d1<64><00>Zoe3j<33>d2<64><00>Zpedd3<64><00>Zqedd4<64><00>Zresdkd5<64><04>Ztdkd6<64>Zuesd7<64><00>Zvdld8<64>Zwdmd9<64>Zxdnd:<3A>Zyd;<3B>Zzd<<3C>Z{d=<3D>Z|dod><3E>Z} dpd?<3F>Z~dqd@<40>ZdrdA<64>Z<>dsdB<64>Z<> dtdC<64>Z<> dudD<64>Z<>dE<64>Z<>dF<64>Z<>dG<64>Z<>dH<64>Z<>dI<64>Z<>dJ<64>Z<>dK<64>Z<>e3j<33>dL<64><00>Z<>dvdM<64>Z<>dvdN<64>Z<>dO<64>Z<>dP<64>Z<>dQ<64>Z<>dR<64>Z<>dS<64>Z<>dodT<64>Z<>dodU<64>Z<>dodV<64>Z<> dwdW<64>Z<>e3<65>j.dX<64><00>Z<>dY<64>Z<>dZ<64>Z<>d[<5B>Z<>d\<5C>Z<>dxd]<5D>Z<>d^<5E>Z<>d_<64>Z<>d`<60>Z<>da<64>Z<>db<64>Z<>dc<64>Z<>dd<64>Z<>de<64>Z<>df<64>Z<>dg<64>Z<>y)y<>DefaultDialectz!Default implementation of DialectTFNzOptional[Set[Any]]<5D>include_set_input_sizes<65>exclude_set_input_sizesr)<02>isolation_level<65> logging_token<65>debug)<07> pool_timeout<75>echo<68> echo_pool<6F> pool_recycle<6C> pool_size<7A> max_overflow<6F>future<72>Mapping[str, Any]<5D>engine_config_types<65>defaulti'<00> Optional[int]<5D>#_user_defined_max_identifier_lengthz Optional[str]rT<00>max_index_name_length<74>max_constraint_name_lengthz<MutableMapping[Type[TypeEngine[Any]], Type[TypeEngine[Any]]]<5D>colspecs<63>named<65>DEFAULT<4C>bool<6F>use_insertmanyvalues<65>!use_insertmanyvalues_wo_returningr,<00>"insertmanyvalues_implicit_sentineli<6C><00>int<6E>insertmanyvalues_page_sizei<65><00>default_schema_namezutf-8)<02>1.4aThe :paramref:`_sa.create_engine.empty_in_strategy` keyword is deprecated, and no longer has any effect. All IN expressions are now rendered using the "expanding parameter" strategy which renders a set of boundexpressions, or an "empty set" SELECT, at statement executiontime.)roz<>The :paramref:`_sa.create_engine.server_side_cursors` parameter is deprecated and will be removed in a future release. Please use the :paramref:`_engine.Connection.execution_options.stream_results` parameter.)<02>empty_in_strategy<67>server_side_cursorsc  <01>r<00>| r+|jstjd|z<00><00>d|_t |dd<04>r5t j dd<06>tjj|_
d|_ d|_ ||_ | |_|<01>||_n9|j<00>|jj|_n|j |_|jdv|_ |j#|<00>|_||_t |dd<00>}|<0E>,t)t*t,j.|j0<00>}n |j2}||<00>x|_|_|<05>||_||_|j8r|j8|_||_|
|_| <09>| |_ |tBjDur||_#yy) Nz/Dialect %s does not support server side cursorsT<73>use_setinputsizesFzoThe dialect-level use_setinputsizes attribute is deprecated. Please use bind_typing = BindTyping.SETINPUTSIZES<45>2.0)<04>qmark<72>format<61>numeric<69>numeric_dollar<61> type_compiler)$<24>supports_server_side_cursorsr"<00> ArgumentErrorrq<00>getattrr$<00>warn_deprecatedr<00>
2025-02-23 09:07:52 +08:00
BindTyping<EFBFBD> SETINPUTSIZES<45> bind_typing<6E>
2025-08-29 00:34:40 +08:00
positional<EFBFBD>_ischema<6D>dbapi<70>skip_autocommit_rollback<63>
paramstyle<EFBFBD>default_paramstyle<6C>preparer<65>identifier_preparer<65>_on_connect_isolation_levelrrr%<00>GenericTypeCompilerry<00>type_compiler_cls<6C>type_compiler_instance<63>supports_native_booleanrb<00>max_identifier_length<74> label_length<74>compiler_lintingrir*<00>NO_ARGrm)<10>selfr<66>rTr<><00>implicit_returningr<67>r<>r<>rmrir<>rqr<><00>kwargs<67>legacy_tt_callable<6C> tt_callables <20>FD:\pythonpj\aitsc\.venv\Lib\site-packages\sqlalchemy/engine/default.py<70>__init__zDefaultDialect.__init__s<><00><00>J <1F><17>4<>4<><19>'<27>'<27>E<><04>L<><12><12>,0<><04>(<28> <12>4<EFBFBD>,<2C>e<EFBFBD> 4<> <10> <20> <20>9<><16>  <0E> *<2A>4<>4<>B<>B<>D<EFBFBD> <1C><1F><04><0F><1C><04> <0A><1A><04>
<EFBFBD>(@<40><04>%<25> <15> !<21>(<28>D<EFBFBD>O<EFBFBD> <11>Z<EFBFBD>Z<EFBFBD> #<23>"<22>j<EFBFBD>j<EFBFBD>3<>3<>D<EFBFBD>O<EFBFBD>"<22>5<>5<>D<EFBFBD>O<EFBFBD><1E>/<2F>/<2F>.
2025-02-23 09:07:52 +08:00
<EFBFBD>
<EFBFBD><04><0F> $(<28>=<3D>=<3D><14>#6<><04> <20>+:<3A><04>(<28>$<24>T<EFBFBD>?<3F>D<EFBFBD>A<><1A> <1D> )<29><1E><14>X<EFBFBD>1<>1<>2<><14>"<22>"<22><0E>K<EFBFBD>
2025-08-29 00:34:40 +08:00
<1F>0<>0<>K<EFBFBD>;F<>t<EFBFBD>;L<>L<><04>#<23>d<EFBFBD>&8<> "<22> .<2E>+B<>D<EFBFBD> (<28>3H<33><04>0<> <0F> 3<> 3<><14>8<>8<> <11> &<26>)<29><04><19> 0<><04><1D> <1F> +<2B>(<<3C>D<EFBFBD> %<25> %<25>V<EFBFBD>]<5D>]<5D> :<3A>.H<>D<EFBFBD> +<2B> ;<3B>rtz]full_returning is deprecated, please use insert_returning, update_returning, delete_returningc<01>R<00>|jxr|jxr |jS<00>N)<03>insert_returning<6E>update_returning<6E>delete_returning<6E>r<>s r<><00>full_returningzDefaultDialect.full_returning|s.<00><00> <11> !<21> !<21> &<26><14>%<25>%<25> &<26><14>%<25>%<25>
r<EFBFBD>c<01>6<00>|jxr |jS)aDefault implementation for insert_executemany_returning, if not
2025-02-23 09:07:52 +08:00
otherwise overridden by the specific dialect.
The default dialect determines "insert_executemany_returning" is
available if the dialect in use has opted into using the
"use_insertmanyvalues" feature. If they haven't opted into that, then
this attribute is False, unless the dialect in question overrides this
and provides some other implementation (such as the Oracle Database
dialects).
2025-08-29 00:34:40 +08:00
<20>r<>rir<>s r<><00>insert_executemany_returningz+DefaultDialect.insert_executemany_returning<6E>s<00><00><14>$<24>$<24>B<><14>)B<>)B<>Br<42>c<01>6<00>|jxr |jS)a<>Default implementation for
2025-02-23 09:07:52 +08:00
insert_executemany_returning_deterministic_order, if not otherwise
overridden by the specific dialect.
The default dialect determines "insert_executemany_returning" can have
deterministic order only if the dialect in use has opted into using the
"use_insertmanyvalues" feature, which implements deterministic ordering
using client side sentinel columns only by default. The
"insertmanyvalues" feature also features alternate forms that can
use server-generated PK values as "sentinels", but those are only
used if the :attr:`.Dialect.insertmanyvalues_implicit_sentinel`
bitflag enables those alternate SQL forms, which are disabled
by default.
If the dialect in use hasn't opted into that, then this attribute is
False, unless the dialect in question overrides this and provides some
other implementation (such as the Oracle Database dialects).
2025-08-29 00:34:40 +08:00
r<>r<>s r<><00>4insert_executemany_returning_sort_by_parameter_orderzCDefaultDialect.insert_executemany_returning_sort_by_parameter_order<65>s<00><00>*<14>$<24>$<24>B<><14>)B<>)B<>Br<42>c<01>d<00>|j<00>tjd|<00>d<02><03><00>|jS)N<>Dialect z\ does not have a Python DBAPI established and cannot be used for actual database interaction)r<>r"<00>InvalidRequestErrorr<72>s r<><00> loaded_dbapizDefaultDialect.loaded_dbapi<70>s><00><00> <0F>:<3A>:<3A> <1D><15>)<29>)<29><1A>4<EFBFBD>&<26>!E<01>E<01><0E> <0E><14>z<EFBFBD>z<EFBFBD>r<>c<01>N<00>|jtjjuSr<>)r<>rr~<00> RENDER_CASTSr<53>s r<><00>_bind_typing_render_castsz(DefaultDialect._bind_typing_render_casts<74>s<00><00><13><1F><1F>:<3A>#8<>#8<>#E<>#E<>E<>Er<45>c<01>v<00>t|t<00>s)tjdt<00>dt |<01><00>d<03><05><00>y)Nz7The argument passed to Dialect.has_table() should be a z, got z<>. Additionally, the Dialect.has_table() method is for internal dialect use only; please use ``inspect(some_engine).has_table(<tablename>>)`` for public API use.)<05>
isinstancerr"r{<00>type)r<><00>args r<><00>_ensure_has_table_connectionz+DefaultDialect._ensure_has_table_connection<6F>s5<00><00><19>#<23>z<EFBFBD>*<2A><15>#<23>#<23>*4<>T<EFBFBD>#<23>Y<EFBFBD> @<01><0E> <0E>+r<>c<01><><00>|jjjdd<00>}|<01>2tjd|j
<00>d|j <00>d<04>d<05><06>t|<01>S)N<>supports_statement_cacher<65><00>:a<> will not make use of SQL compilation caching as it does not set the 'supports_statement_cache' attribute to ``True``. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Dialect maintainers should seek to set this attribute to True after appropriate development and testing for SQLAlchemy 1.4 caching support. Alternatively, this attribute may be set to False which will disable this warning.<2E>cprf)<01>code)<08> __class__<5F>__dict__<5F>getr$<00>warn<72>name<6D>driverrh)r<><00>sscs r<><00>_supports_statement_cachez(DefaultDialect._supports_statement_cache<68>sU<00><00><12>n<EFBFBD>n<EFBFBD>%<25>%<25>)<29>)<29>*D<>d<EFBFBD>K<><03> <0E>;<3B> <10>I<EFBFBD>I<EFBFBD>#<23>i<EFBFBD>i<EFBFBD><14><1B><1B> 6<><1C> <0E><14>C<EFBFBD>y<EFBFBD>r<>c<01>*<00>tj<00>Sr<>)<02>weakref<65>WeakKeyDictionaryr<79>s r<><00> _type_memoszDefaultDialect._type_memos<6F>s<00><00><16>(<28>(<28>*<2A>*r<>c<01>:<00>|jdz|jzS)N<>+)r<>r<>r<>s r<><00>dialect_descriptionz"DefaultDialect.dialect_description<6F>s<00><00><13>y<EFBFBD>y<EFBFBD>3<EFBFBD><EFBFBD><14><1B><1B>,<2C>,r<>c<01><00>|jS)z<>True if this dialect supports sane rowcount even if RETURNING is
2025-02-23 09:07:52 +08:00
in use.
For dialects that don't support RETURNING, this is synonymous with
``supports_sane_rowcount``.
2025-08-29 00:34:40 +08:00
)<01>supports_sane_rowcountr<74>s r<><00> supports_sane_rowcount_returningz/DefaultDialect.supports_sane_rowcount_returning<6E>s<00><00><14>*<2A>*<2A>*r<>c<01>8<00>t|dtj<00>S)N<> poolclass)r|r#<00> QueuePool)<02>cls<6C>urls r<><00>get_pool_classzDefaultDialect.get_pool_class<73>s<00><00><16>s<EFBFBD>K<EFBFBD><14><1E><1E>8<>8r<38>c<01>$<00>|j|<01>Sr<>)r<>)r<>r<>s r<><00>get_dialect_pool_classz%DefaultDialect.get_dialect_pool_class<73>s<00><00><13>"<22>"<22>3<EFBFBD>'<27>'r<>c<01><><00>dj|jjd<01>dd<00>} t|dz<00>y#t$rYywxYw)N<>.r<00><><EFBFBD><EFBFBD><EFBFBD>z
2025-02-23 09:07:52 +08:00
.provision)<05>join<69>
__module__<EFBFBD>split<69>
2025-08-29 00:34:40 +08:00
__import__<EFBFBD> ImportError)r<><00>packages r<><00>load_provisioningz DefaultDialect.load_provisioning<6E>sJ<00><00><15>(<28>(<28>3<EFBFBD>><3E>><3E>/<2F>/<2F><03>4<>Q<EFBFBD>r<EFBFBD>:<3A>;<3B><07> <11> <16>w<EFBFBD><1C>-<2D> .<2E><><1A> <11> <10> <11>s<00>><00> A
2025-02-23 09:07:52 +08:00
<03> A
2025-08-29 00:34:40 +08:00
c<01>,<00><00><00>j<00><07>fd<01>}|Sy)Nc<01>><00><01><00>j|<00>j<00>yr<>)<02>_assert_and_set_isolation_levelr<6C>)<03>
dbapi_conn<EFBFBD>conn_recr<63>s <20>r<EFBFBD><00>builtin_connectz:DefaultDialect._builtin_onconnect.<locals>.builtin_connects<00><><00><14>4<>4<><1E><04> @<40> @<40>r<>)r<>)r<>r<>s` r<><00>_builtin_onconnectz!DefaultDialect._builtin_onconnects<00><><00> <0F> +<2B> +<2B> 7<> <12>
#<23> "<22>r<>c<01>.<00> |j|<01>|_ |j|<01>|_ |j |j j<00>|_|js|j|<01>}|r||_ |jrH|j|jkDr.tjd|j|jfz<00><00>yy#t$r
2025-02-23 09:07:52 +08:00
d|_Y<00><>wxYw#t$r
d|_Y<00><>wxYw#t$r
2025-08-29 00:34:40 +08:00
d|_Y<00><>wxYw)NzQLabel length of %d is greater than this dialect's maximum identifier length of %d)<0F>_get_server_version_info<66>server_version_info<66>NotImplementedError<6F>_get_default_schema_namern<00>get_default_isolation_level<65>
connection<EFBFBD>dbapi_connection<6F>default_isolation_levelrb<00>_check_max_identifier_lengthr<68>r<>r"r{)r<>r<><00>max_ident_lengths r<><00>
initializezDefaultDialect.initialize s*<00><00> ,<2C>'+<2B>'D<>'D<><1A>(<0E>D<EFBFBD> $<24>
 ,<2C>'+<2B>'D<>'D<><1A>(<0E>D<EFBFBD> $<24>  0<>+/<2F>+K<>+K<><1A>%<25>%<25>6<>6<>,<0E>D<EFBFBD> (<28> <14>7<>7<>#<23>@<40>@<40><1A>L<> <1C><1F>-=<3D><04>*<2A> <11> <1D> <1D><14>!<21>!<21>D<EFBFBD>$><3E>$><3E>><3E><15>#<23>#<23>3<><17>$<24>$<24>d<EFBFBD>&@<40>&@<40>A<>B<01><0E> <0E>?<3F> <1E><>-#<23> ,<2C>'+<2B>D<EFBFBD> $<24> ,<2C><> #<23> ,<2C>'+<2B>D<EFBFBD> $<24> ,<2C><>#<23> 0<>+/<2F>D<EFBFBD> (<28> 0<>s3<00>C<00>C+<00>*D<00>C(<03>'C(<03>+C><03>=C><03>D<03>Dc<01><00>yr<><00>r<>s r<><00>
on_connectzDefaultDialect.on_connect1s<00><00>r<>c<01><00>y)z<>Perform a connection / server version specific check to determine
2025-02-23 09:07:52 +08:00
the max_identifier_length.
If the dialect's class level max_identifier_length should be used,
can return None.
.. versionadded:: 1.3.9
2025-08-29 00:34:40 +08:00
Nr<4E><00>r<>r<>s r<>r<>z+DefaultDialect._check_max_identifier_length5s<00><00>r<>c<01>$<00>|j|<01>S)a<>Given a DBAPI connection, return its isolation level, or
2025-02-23 09:07:52 +08:00
a default isolation level if one cannot be retrieved.
May be overridden by subclasses in order to provide a
"fallback" isolation level for databases that cannot reliably
retrieve the actual isolation level.
By default, calls the :meth:`_engine.Interfaces.get_isolation_level`
method, propagating any exceptions raised.
.. versionadded:: 1.3.22
2025-08-29 00:34:40 +08:00
)<01>get_isolation_level<65>r<>r<>s r<>r<>z*DefaultDialect.get_default_isolation_levelAs<00><00><14>'<27>'<27>
<EFBFBD>3<>3r<33>c<01>B<00>tj||j<00>S)a)Provide a database-specific :class:`.TypeEngine` object, given
2025-02-23 09:07:52 +08:00
the generic object which comes from the types module.
This method looks for a dictionary called
``colspecs`` as a class or instance-level variable,
and passes on to :func:`_types.adapt_type`.
)r(<00>
2025-08-29 00:34:40 +08:00
adapt_typere)r<><00>typeobjs r<><00>type_descriptorzDefaultDialect.type_descriptorQs<00><00><18>"<22>"<22>7<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD>:<3A>:r<>c <01>|<00>|j||fd|i|<05><01>sy|j||fd|i|<05><01>D] }|d|k(s<01> yy)N<>schemaFr<46>T)<02> has_table<6C> get_indexes)r<>r<><00>
2025-02-23 09:07:52 +08:00
table_name<EFBFBD>
2025-08-29 00:34:40 +08:00
index_namer<EFBFBD><00>kw<6B>idxs r<><00> has_indexzDefaultDialect.has_index\sa<00><00><1D>t<EFBFBD>~<7E>~<7E>j<EFBFBD>*<2A>J<>V<EFBFBD>J<>r<EFBFBD>J<><18>#<23>4<EFBFBD>#<23>#<23> <16>
2025-02-23 09:07:52 +08:00
<EFBFBD>
<EFBFBD>+1<>
<EFBFBD>57<EFBFBD>
<EFBFBD>C<EFBFBD><13>6<EFBFBD>{<7B>j<EFBFBD>(<28><1B> 
2025-08-29 00:34:40 +08:00
<EFBFBD> r<>c <01>,<00>||j|fi|<03><01>vSr<>)<01>get_schema_names)r<>r<><00> schema_namers r<><00>
has_schemazDefaultDialect.has_schemags"<00><00><1B>3<>d<EFBFBD>3<>3<>J<EFBFBD>E<>"<22>E<>E<>Er<45>c<01>|<00>t|<01>|jkDr$tjd||jfz<00><00>y)Nz7Identifier '%s' exceeds maximum length of %d characters)<04>lenr<6E>r"<00>IdentifierError)r<><00>idents r<><00>validate_identifierz"DefaultDialect.validate_identifierlsB<00><00> <0E>u<EFBFBD>:<3A><04>2<>2<> 2<><15>%<25>%<25>I<><18>$<24>4<>4<>5<>6<><0E> <0E> 3r<33>c<01>:<00>|jj|i|<02><01>Sr<>)r<><00>connect)r<><00>cargs<67>cparamss r<>r zDefaultDialect.connectss <00><00>(<28>t<EFBFBD> <20> <20>(<28>(<28>%<25>;<3B>7<EFBFBD>;<3B>;r<>c<01>`<00>|j<00>}|j|j<00>g|fSr<>)<03>translate_connect_args<67>update<74>query)r<>r<><00>optss r<><00>create_connect_argsz"DefaultDialect.create_connect_argsws*<00><00><12>)<29>)<29>+<2B><04> <0C> <0B> <0B>C<EFBFBD>I<EFBFBD>I<EFBFBD><1E><12>D<EFBFBD>z<EFBFBD>r<>c<01><><00><00><02><05>t<00>j<00>j<00><02>}|r>tj<00>fd<01>|D<00><00><00>t j |d<02><00><05>fd<03><08>}yy)Nc3<01>,<00>K<00>|] }|<01>|f<02><01><00> y<00>wr<>r<><00><03>.0r<EFBFBD>rs <20>r<EFBFBD><00> <genexpr>z>DefaultDialect.set_engine_execution_options.<locals>.<genexpr><3E><00><00><><00><><00>D<0E>/><3E>t<EFBFBD><14>t<EFBFBD>D<EFBFBD>z<EFBFBD>"<22><EFBFBD><7F><00><01>engine_connectc<01>*<00><02><00>j|<00><01>yr<>)<01>_set_connection_characteristics)r<>rr<>s <20><>r<EFBFBD><00>set_connection_characteristicszSDefaultDialect.set_engine_execution_options.<locals>.set_connection_characteristics<63>s<00><><00><14>4<>4<><1E><0F>r<>)<07>set<65>connection_characteristics<63> intersectionr$<00> immutabledictr!<00> listens_for)r<><00>enginer<00>supported_namesr rs` ` @r<><00>set_engine_execution_optionsz+DefaultDialect.set_engine_execution_options}sn<00><><00><1E>d<EFBFBD>=<3D>=<3D>><3E>K<>K<> <10>
<EFBFBD><0F> <1B>15<31>1C<31>1C<31>D<0E>/><3E>D<0E>2<0E>O<EFBFBD><13> <1E> <1E>v<EFBFBD>'7<> 8<> <12>9<> <12> r<>c<01><><00><02>t|j<00>j<00><02>}|r1tj<00>fd<01>|D<00><00>}|j ||<04>yy)Nc3<01>,<00>K<00>|] }|<01>|f<02><01><00> y<00>wr<>r<>rs <20>r<EFBFBD>rzBDefaultDialect.set_connection_execution_options.<locals>.<genexpr><3E>rr)r!r"r#r$r$r)r<>r<>rr'rs ` r<><00> set_connection_execution_optionsz/DefaultDialect.set_connection_execution_options<6E>s^<00><><00><1E>d<EFBFBD>=<3D>=<3D>><3E>K<>K<> <10>
<EFBFBD><0F> <1B>15<31>1C<31>1C<31>D<0E>/><3E>D<0E>2<0E>O<EFBFBD> <11> 0<> 0<><1A>_<EFBFBD> M<> r<>c<01>R<00>|j<00>D<00><03>cgc]\}}||j||f<03><02>}}}|j<00>rU|D<00><03><06>cgc]\}}}|jr||f<02><02>}}}}|r.t j
2025-02-23 09:07:52 +08:00
ddj d<03>|D<00><00>z<00><00>|jj} |D]\}}
}|
2025-08-29 00:34:40 +08:00
j||| |<04><00>|jjjjtj|j|<02><00>ycc}}wcc}}}w)Nz<4E>This connection has already initialized a SQLAlchemy Transaction() object via begin() or autobegin; %s may not be altered unless rollback() or commit() is called first.<2E>, c3<01>&K<00>|] \}}|<01><01><00> y<00>wr<>r<>)rr<><00>objs r<>rzADefaultDialect._set_connection_characteristics.<locals>.<genexpr><3E>s<00><00><><00> B<>z<EFBFBD>)<29>$<24><03><14>z<EFBFBD>s<00>)<10>itemsr"<00>in_transaction<6F> transactionalr"r<>r<>r<>r<><00>set_connection_characteristic<69>_connection_record<72>finalize_callback<63>append<6E> functools<6C>partial<61>_reset_characteristics) r<>r<>rr<><00>value<75>characteristic_valuesr/<00>_<>
trans_objsr<EFBFBD><00>characteristics r<>rz.DefaultDialect._set_connection_characteristics<63>s><00><00> 5<><EFBFBD>4<>4<>6<>!
2025-02-23 09:07:52 +08:00
<EFBFBD>6<> <0B><04>e<EFBFBD><12>4<EFBFBD>2<>2<>4<EFBFBD>8<>%<25> @<40>6<> <1E>!
<EFBFBD>
<16> $<24> $<24> &<26>%:<3A><0E>$9<>L<EFBFBD>D<EFBFBD>#<23>q<EFBFBD><16>$<24>$<24><16>s<EFBFBD> <0B>$9<> <17><0E>
<1A><19>-<2D>-<2D>'<27><1C>y<EFBFBD>y<EFBFBD> B<>z<EFBFBD> B<>B<> D<01><12><12>&<26>0<>0<>A<>A<><18>(=<3D> $<24>A<EFBFBD>~<7E>u<EFBFBD> <1A> 8<> 8<><14>j<EFBFBD>"2<>E<EFBFBD> <0E>)><3E> <13><1D><1D>0<>0<>B<>B<>I<>I<> <15> <1D> <1D>d<EFBFBD>9<>9<>?<3F> K<>
<EFBFBD><EFBFBD>3!
<EFBFBD><EFBFBD> s <00>D<06>
2025-08-29 00:34:40 +08:00
D"c<01>T<00>|D]#}|j|}|j||<02><00>%yr<>)r"<00>reset_characteristic)r<>rr<><00>characteristic_namer>s r<>r9z%DefaultDialect._reset_characteristics<63>s3<00><00>#2<> <1F>!<21><<3C><<3C>#<23><0E>N<EFBFBD> <1B> /<2F> /<2F><04>6F<36> G<> $3r<33>c<01><00>yr<>r<><00>r<>r<>s r<><00>do_beginzDefaultDialect.do_begin<69><00><00><00> r<>c<01>`<00>|jr|j|<01>ry|j<00>yr<>)r<><00>detect_autocommit_setting<6E>rollbackrCs r<><00> do_rollbackzDefaultDialect.do_rollback<63>s,<00><00> <0F> (<28> (<28>T<EFBFBD>-K<>-K<> <1C>.
<EFBFBD> <13><18>!<21>!<21>#r<>c<01>$<00>|j<00>yr<>)<01>commitrCs r<><00> do_commitzDefaultDialect.do_commit<69>s<00><00><18><1F><1F>!r<>c<01>&<00>|j|<01>yr<>)<01>do_closerCs r<><00> do_terminatezDefaultDialect.do_terminate<74>s<00><00> <0C> <0A> <0A>&<26>'r<>c<01>$<00>|j<00>yr<>)<01>closerCs r<>rNzDefaultDialect.do_close<73>s<00><00><18><1E><1E> r<>c<01>^<00>ttjd<01>j|<00><02><00>S)Nr<00><01>dialect)<04>strr'<00>select<63>compiler<65>s r<><00>_dialect_specific_select_onez+DefaultDialect._dialect_specific_select_one<6E>s&<00><00><12>:<3A>$<24>$<24>Q<EFBFBD>'<27>/<2F>/<2F><04>/<2F>=<3D>><3E>>r<>c<01>F<00> |j|<01>S#|jj$rt}|j||d<00>}|jrH t j |||dd<02><03>n,#tj$r}|j}Yd}~nd}~wwxYw|rYd}~y<01>d}~wwxYw)NFT)<03> is_disconnect<63>invalidate_pool_on_disconnect<63> is_pre_ping)
<EFBFBD>do_pingr<67><00>ErrorrZ<00> _has_eventsr<00>$_handle_dbapi_exception_noconnectionr"<00>StatementError<6F>connection_invalidated)r<>r<><00>errrZ<00>new_errs r<><00>_do_ping_w_eventzDefaultDialect._do_ping_w_event<6E>s<><00><00> <16><17><<3C><<3C> 0<>1<> 1<><31><13> <20> <20>&<26>&<26> <16> <20>.<2E>.<2E>s<EFBFBD>4D<34>d<EFBFBD>K<>M<EFBFBD><13><1F><1F> C<01><1E>C<>C<><1B><1C>&3<>6;<3B>$(<28> <16><><1B>)<29>)<29>C<01>$+<2B>$B<>$B<>M<EFBFBD><4D>C<01><><1D><1C><15><>% <16>sD<00><00>B <03>B<03> A'<02>&B<03>'B<05>: B <05>B<03> B<05>B<03>B<03>B c<01><><00>|j<00>} |j|j<00>|j<00>y#|j<00>wxYw)NT)r<00>executerXrQ)r<>r<>rs r<>r]zDefaultDialect.do_ping<6E>s@<00><00>!<21>(<28>(<28>*<2A><06> <1B> <12>N<EFBFBD>N<EFBFBD>4<EFBFBD><<3C><<3C> =<3D> <12>L<EFBFBD>L<EFBFBD>N<EFBFBD><13><> <13>L<EFBFBD>L<EFBFBD>N<EFBFBD>s <00>><00>Ac<01>:<00>dtjdddz<00>zS)z<>Create a random two-phase transaction ID.
2025-02-23 09:07:52 +08:00
This id will be passed to do_begin_twophase(), do_rollback_twophase(),
do_commit_twophase(). Its format is unspecified.
2025-08-29 00:34:40 +08:00
z _sa_%032xrr <00><>)<02>random<6F>randintr<74>s r<><00>
create_xidzDefaultDialect.create_xid<69>s<00><00><1B>V<EFBFBD>^<5E>^<5E>A<EFBFBD>q<EFBFBD>#<23>v<EFBFBD>6<>6<>6r<36>c<01>L<00>|jtj|<02><00>yr<>)rgr'<00>SavepointClause<73>r<>r<>r<>s r<><00> do_savepointzDefaultDialect.do_savepoint<6E>s<00><00><12><1A><1A>:<3A>5<>5<>d<EFBFBD>;<3B><r<>c<01>L<00>|jtj|<02><00>yr<>)rgr'<00>RollbackToSavepointClauseros r<><00>do_rollback_to_savepointz'DefaultDialect.do_rollback_to_savepoints<00><00><12><1A><1A>:<3A>?<3F>?<3F><04>E<>Fr<46>c<01>L<00>|jtj|<02><00>yr<>)rgr'<00>ReleaseSavepointClauseros r<><00>do_release_savepointz#DefaultDialect.do_release_savepoints<00><00><12><1A><1A>:<3A><<3C><<3C>T<EFBFBD>B<>Cr<43>c #<01><>K<00>tt|<06>}tt|j<00>}d}d} d}
2025-02-23 09:07:52 +08:00
|j} |j
} | <0C>J<00>t |j<00>} |jjd|j<00>}|jr|jjdi<00>}nd}| rg}||_ | j}nd}d}|j||| ||||<0F>D<00>]>}|<12><01>| s<01> |j|<02>}|<10>J<00>| j,<00>r|j.<00>s<>| j,dkD}| j0r4|rJ<00>|j3t5t7j8d<08><00> <09><00><00><>| j:sJ<00>| j<sJ<00>| j,}|
s<EFBFBD>|rTt?| j<|j@| d<00>D<00><17>cgc]$\}}|jBjE||d<00><00><02>&}}}n9| j<d
jBjE||j@dd<00>} d}
|r/D<00>cic]#}tGd <0B>t?|| d|<08>D<00><00>|<19><02>%}}n/| rD<00>cic]}| |d<00>|<19><02>}}nD<00>cic]}|d|<19><02>
}}tI|<1A>tI|jJ<00>k7r8tMjNd tI|jJ<00><00>d tI|<1A><00>d<0E><05><00> |jPD<00>cgc]}||<00><02> }}|j3|<1C><00><02>.|j3<13><00><02>Ay#t $rI}|j#|t%j&|j(<00>|j*d|d<05><06>Yd}~<14><02>sd}~wwxYwcc}}wcc}wcc}wcc}wcc}w#tR$r,}tMjNd|jTd
2025-08-29 00:34:40 +08:00
<00>d<10><03>|<1D>d}~wwxYw<01>w)Nr<4E>Frm<00>schema_translate_mapT)<01> is_sub_execrr<>)<01>keyrc3<01>:K<00>|]\}}|r||<01>n|<01><01><00>y<00>wr<>r<>)r<00>val<61>procs r<>rzCDefaultDialect._deliver_insertmanyvalues_batches.<locals>.<genexpr>|s+<00><00><><00>"<1E>2"<22>I<EFBFBD>C<EFBFBD><14>/3<><14>c<EFBFBD><19><03>!;<3B>2"<22>s<00>zASentinel-keyed result set did not produce correct number of rows z ; produced zP. Please ensure the sentinel column is fully unique and populated in all cases.zACan't match sentinel values in result set to parameter sets; key aT was not found. There may be a mismatch between the datatype passed to the DBAPI driver vs. that which it returns in a result row. Ensure the given Python value matches the expected result type *exactly*, taking care to not rely upon implicit conversions which may occur such as when using strings in place of UUID or integer values, etc. )+r<00>DefaultExecutionContextr-<00>compiled<65>compiled_parameters<72>_insertmanyvaluesrh<00>effective_returning<6E>execution_optionsr<73>rmrx<00>_insertmanyvalues_rows<77>sort_by_parameter_order<65>!_deliver_insertmanyvalues_batches<65>fetchall_for_returning<6E> BaseException<6F>_handle_dbapi_exception<6F>sql_util<69>_long_statement<6E>replaced_statement<6E>replaced_parameters<72>num_sentinel_columns<6E> is_downgraded<65>implicit_sentinel<65>extend<6E>sorted<65>operator<6F>
itemgetter<EFBFBD>sentinel_param_keys<79>sentinel_columns<6E>zip<69> descriptionr<6E><00>_cached_result_processor<6F>tupler<00>batchr"r<><00>sentinel_values<65>KeyError<6F>args)r<>r<>r<00> statement<6E>
parameters<EFBFBD>generic_setinputsizes<65>contextr<00>_composite_sentinel_proc<6F>_scalar_sentinel_proc<6F>_sentinel_proc_initializedr<64><00>imv<6D> is_returning<6E>
batch_sizerx<00>resultr<74><00> imv_batch<63>rows<77>be<62>composite_sentinel<65>_nsc<73>col<6F> cursor_desc<73>row<6F>rows_by_sentinel<65> sentinel_keys<79> ordered_rows<77>kes r<>r<>z0DefaultDialect._deliver_insertmanyvalues_batchess<><00><00><><00><17>.<2E><07>8<><07><17> <0B>W<EFBFBD>%5<>%5<>6<><08> <0F> !<21>FJ<01><1D>+0<>"<22>%<25>9<>9<><1B><16>(<28>(<28><03><12><EFBFBD><1E><EFBFBD>$(<28><18>)E<>)E<>$F<> <0C><1C>.<2E>.<2E>2<>2<> (<28>$<24>*I<>*I<>
2025-02-23 09:07:52 +08:00
<EFBFBD>
<EFBFBD> <14> (<28> (<28>#*<2A>#<<3C>#<<3C>#@<40>#@<40>&<26><02>$<0E> <20>$(<28> <20> <17>*,<2C>F<EFBFBD>-3<>G<EFBFBD> *<2A>&)<29>&A<>&A<> #<23>',<2C> #<23><19>F<EFBFBD>!<21>C<>C<> <15> <16> <1F> !<21> <16> #<23> <20>
<EFBFBD>I<EFBFBD><1C>O<EFBFBD><1B>
<16>"<22>9<>9<>&<26>A<>D<EFBFBD><1E>)<29>)<29>)<29><16>+<2B>+<2B>I<EFBFBD>4K<34>4K<34>),<2C>)A<>)A<>A<EFBFBD>)E<>&<26><1A>,<2C>,<2C>$6<>5<>5<><1E> <0A> <0A>"<22>4<EFBFBD>X<EFBFBD>-@<40>-@<40><12>-D<>E<><1A>!<21><1F>2<>2<>2<>2<><1E>/<2F>/<2F>/<2F>/<2F><1E>3<>3<>D<EFBFBD>5<>-<2D>
9<<3C>$'<27>$8<>$8<>$*<2A>$6<>$6<><04>u<EFBFBD>v<EFBFBD>$><3E>9"<22> 8<1E>9"<22>$4<>C<EFBFBD><1B>!$<24><08><08> A<> A<>$(<28>+<2B>a<EFBFBD>.<2E>!"<22>9"<22> 5<>8<1E>!$<24> 4<> 4<>Q<EFBFBD> 7<>"<22>d<EFBFBD>#;<3B>#;<3B> $<24>f<EFBFBD>&8<>&8<><12>&<<3C>Q<EFBFBD>&?<3F>$<1E>2<>
6:<3A>2<> *<2A>(,<2C>,<1A>(,<2C><03> "<22>"<1E>14<31>$'<27><14><05><06>K<EFBFBD>1I<31>2"<22>"<1E><1E>
#<23> #<23> (,<2C>)<29>,<1A>/<2F>KO<4B>,<1A>KO<4B>C<EFBFBD>1<>#<23>b<EFBFBD>'<27>:<3A>C<EFBFBD>?<3F>4<EFBFBD>)<29>,<1A>EI<01>+I<>D<EFBFBD>S<EFBFBD>C<EFBFBD><02>G<EFBFBD>S<EFBFBD>L<EFBFBD>D<EFBFBD>(<28>+I<><1A>+<2B>,<2C><03>I<EFBFBD>O<EFBFBD>O<EFBFBD>0D<30>D<>"<22>5<>5<>6<>69<36>)<29>/<2F>/<2F>6J<36>5K<35>L(<28>"<22>#3<>4<>5<>6)<29>)<29><1A><1A>"<22>2;<3B>1J<31>1J<31>(<1A>1J<31> <0A>-<2D>]<5D>;<3B>1J<31>%<25>(<1A>*<1B>M<EFBFBD>M<EFBFBD>,<2C>/<2F><1B>M<EFBFBD>M<EFBFBD>$<24>'<27>{
<EFBFBD><EFBFBD>%<25><16><1E>6<>6<><1A> <20>0<>0<><19>1M<31>1M<31>N<>!<21>5<>5<><1C><1F>$(<28> 7<><16><16><><16><>D8<1E><>,,<1A><>,<1A><>,J<01><> (<1A><>$<24>"<22>"<22>5<>5<>3<>35<33>7<EFBFBD>7<EFBFBD>1<EFBFBD>:<3A>.<2E>AP<01> P<01> <1A> "<22> "<22><> "<22>s<EFBFBD><00>C0O<01>4L+<02>CO<01>)N<08>.AO<01>3(N<06> O<01>$N <06>7O<01>> N<06> AO<01>'N<02>5 N<06>N<02>(O<01>+ M=<05>4>M8<05>2O<01>8M=<05>=O<01>N<02> O<05>#'O
<05>
2025-08-29 00:34:40 +08:00
O<05>Oc<01>(<00>|j||<03>yr<>)<01> executemany<6E>r<>rr<>r<>r<>s r<><00>do_executemanyzDefaultDialect.do_executemany<6E>s<00><00><0E><1A><1A>9<EFBFBD>j<EFBFBD>1r<31>c<01>(<00>|j||<03>yr<><00>rgr<>s r<><00>
do_executezDefaultDialect.do_execute<74>s<00><00><0E><0E><0E>y<EFBFBD>*<2A>-r<>c<01>&<00>|j|<02>yr<>r<>)r<>rr<>r<>s r<><00>do_execute_no_paramsz#DefaultDialect.do_execute_no_params<6D>s<00><00><0E><0E><0E>y<EFBFBD>!r<>c<01><00>y)NFr<46>)r<><00>er<65>rs r<>rZzDefaultDialect.is_disconnect<63>s<00><00>r<>c
2025-02-23 09:07:52 +08:00
<01>R<00> t|j|<01><00>}|D<00>cgc]"}|jdd<02>j<00><00><02>$}}||k7r<t d|j
2025-08-29 00:34:40 +08:00
<00>dt t|<02>j|<04><00><00><00><04><00>t|<04>Scc}w#t$rYywxYw)Nr<<00> r<>zi get_isolation_level_values() method should return names as UPPERCASE using spaces, not underscores; got ) <0B>list<73>get_isolation_level_values<65>replace<63>upper<65>
ValueErrorr<EFBFBD>r<>r!<00>
differencer<EFBFBD>r<>)r<>r<><00>
raw_levels<EFBFBD>level<65>normalized_levelss r<><00>_gen_allowed_isolation_levelsz,DefaultDialect._gen_allowed_isolation_levels<6C>s<><00><00> ,<2C><1D>d<EFBFBD>=<3D>=<3D>j<EFBFBD>I<>J<>J<EFBFBD>
2025-02-23 09:07:52 +08:00
>H<01>!<0E>=G<>E<EFBFBD><05> <0A> <0A>c<EFBFBD>3<EFBFBD>'<27>-<2D>-<2D>/<2F>Z<EFBFBD> <1E>!<0E><1A>.<2E>.<2E> <20><1E>t<EFBFBD>y<EFBFBD>y<EFBFBD>m<EFBFBD>,,<2C><1E>c<EFBFBD>*<2A>o<EFBFBD>8<>8<>9J<39>K<>L<>M<>O<01><12><12> <19>*<2A>+<2B> +<2B><>!<0E><>#<23> <18><17> <18>s<00>B<00>'B<04> B&<03>%B&c
<01><00>|jdd<02>j<00>}|j|<01>}|r;||vr7tjd|<02>d|j
2025-08-29 00:34:40 +08:00
<00>ddj |<03><00><00><06><00>|j||<02>y)Nr<r<>zInvalid value z1 for isolation_level. Valid isolation levels for z are r-)r<>r<>r<>r"r{r<>r<><00>set_isolation_level)r<>r<>r<><00>_allowed_isolation_levelss r<>r<>z.DefaultDialect._assert_and_set_isolation_level<65>s<><00><00><15> <0A> <0A>c<EFBFBD>3<EFBFBD>'<27>-<2D>-<2D>/<2F><05>$(<28>$F<>$F<> <16>%
<EFBFBD>!<21> &<26><15>6<>6<><15>#<23>#<23> <20><15> <09>*.<2E>.2<EFBFBD>i<EFBFBD>i<EFBFBD>]<5D>%<25><17>9<EFBFBD>9<EFBFBD>6<>7<>8<>:<3A><0E> <0E> <0A> <20> <20><1A>U<EFBFBD>3r<33>c<01><><00>|j<00>G|jdk(s|j|jk(sJ<00>|j||j<00>y|j<00>J<00>|j||j<00>y)N<>
AUTOCOMMIT)r<>r<>r<>r<>s r<><00>reset_isolation_levelz$DefaultDialect.reset_isolation_level<65>s<><00><00> <0F> +<2B> +<2B> 7<><14>0<>0<>L<EFBFBD>@<40><17>3<>3<><17>/<2F>/<2F>0<> <0E>0<> <11> 0<> 0<><1A>D<EFBFBD><<3C><<3C> <0E><18>/<2F>/<2F>;<3B> ;<3B>;<3B> <10> 0<> 0<><1A><14>,<2C>,<2C> r<>c<01><><00>|<01>y|j<00>}|j<00>}||k(r|S||k(r|jj|<02>s|S||k(r t |d<01><02>S|S)NT)<01>quote)<05>lowerr<72>r<><00>_requires_quotesr.<00>r<>r<><00>
2025-02-23 09:07:52 +08:00
name_lower<EFBFBD>
2025-08-29 00:34:40 +08:00
name_uppers r<><00>normalize_namezDefaultDialect.normalize_name<6D>sy<00><00> <0F><<3C><17><19>Z<EFBFBD>Z<EFBFBD>\<5C>
2025-02-23 09:07:52 +08:00
<EFBFBD><19>Z<EFBFBD>Z<EFBFBD>\<5C>
<EFBFBD> <15><1A> #<23><18>K<EFBFBD> <17>4<EFBFBD> <1F> <10> $<24> $<24> 5<> 5<>
<14>&<16>)<16>
2025-08-29 00:34:40 +08:00
<1E> <1D> <17>4<EFBFBD> <1F><1F>t<EFBFBD>4<EFBFBD>0<> 0<><18>Kr<4B>c<01><><00>|<01>y|j<00>}|j<00>}||k(r|S||k(r|jj|<02>s|}|Sr<>)r<>r<>r<>r<>r<>s r<><00>denormalize_namezDefaultDialect.denormalize_names_<00><00> <0F><<3C><17><19>Z<EFBFBD>Z<EFBFBD>\<5C>
2025-02-23 09:07:52 +08:00
<EFBFBD><19>Z<EFBFBD>Z<EFBFBD>\<5C>
<EFBFBD> <15><1A> #<23><18>K<EFBFBD> <17>4<EFBFBD> <1F> <10> $<24> $<24> 5<> 5<>
2025-08-29 00:34:40 +08:00
<14>&<16>)<16><1E>D<EFBFBD><13> r<>c<01><00>|Sr<>r<>r<>s r<><00>get_driver_connectionz$DefaultDialect.get_driver_connection's<00><00><19>r<>c<01>t<00>tt|<00>|<01>jtt|<01>juSr<>)r|r<><00>__code__rQ)r<><00>methods r<><00>_overrides_defaultz!DefaultDialect._overrides_default*s0<00><00> <13>D<EFBFBD><14>J<EFBFBD><06> '<27> 0<> 0<><1A>><3E>6<EFBFBD>2<>;<3B>;<3B> <<3C>
r<EFBFBD>c+<01><>K<00>g}g} tj|vr6|j|j<00>| j|j<00>tj
2025-02-23 09:07:52 +08:00
|vr6|j|j <00>| j|j<00>tj|vr|j|j<00>|jdi<00>}
|r'|tjur|tjur|} npg} d|i|<07>} g} tj|vr| j|<08>tj|vr| j| <09>| D]} | j||fi| <0C><01><01><00>|r t#|<05>}| D]}|r||vs<01>
||f} ||||fd|i|<07><01>f<02><02><00> y#t $rY<00>ZwxYw#t$j&$r}||
vr||
2025-08-29 00:34:40 +08:00
|<Yd}~<11>Rd}~wt$j($rY<00>jwxYw<01>w)N<> unreflectabler<65>)r<00>TABLEr6<00>get_table_names<65>get_temp_table_names<65>VIEW<45>get_view_names<65>get_temp_view_names<65>MATERIALIZED_VIEW<45>get_materialized_view_names<65>popr<00>ANYrgr<><00> TEMPORARYr<59>r!r"<00>UnreflectableTableError<6F>NoSuchTableError)r<><00>single_tbl_methodr<64><00>kindr<64><00> filter_names<65>scoper<00> names_fns<6E>temp_names_fnsr<73><00>names<65>name_kw<6B>fns<6E>fn<66>tablerzrcs r<><00>_default_multi_reflectz%DefaultDialect._default_multi_reflect0s<><00><00><><00><17> <09><1B><0E> <15> <1B> <1B>t<EFBFBD> #<23> <15> <1C> <1C>T<EFBFBD>1<>1<> 2<> <1A> !<21> !<21>$<24>";<3B>";<3B> <<3C> <15>?<3F>?<3F>d<EFBFBD> "<22> <15> <1C> <1C>T<EFBFBD>0<>0<> 1<> <1A> !<21> !<21>$<24>":<3A>":<3A> ;<3B> <15> '<27> '<27>4<EFBFBD> /<2F> <15> <1C> <1C>T<EFBFBD>=<3D>=<3D> ><3E><1B><06><06><EFBFBD><02>3<> <0A> <19><15><1B><1F><1F>(<28><14>
2025-02-23 09:07:52 +08:00
<EFBFBD><0E><0E>&<26>!<21>E<EFBFBD><16>E<EFBFBD><1F><16>.<2E>2<EFBFBD>.<2E>G<EFBFBD><14>C<EFBFBD><1A>"<22>"<22>e<EFBFBD>+<2B><13>
<EFBFBD>
<EFBFBD>9<EFBFBD>%<25><1A>$<24>$<24><05>-<2D><13>
<EFBFBD>
2025-08-29 00:34:40 +08:00
<EFBFBD>><3E>*<2A><19><02><19><19>L<EFBFBD>L<EFBFBD><12>J<EFBFBD>!:<3A>'<27>!:<3A>;<3B><1A> <18><1E>|<7C>,<2C>L<EFBFBD><1B>E<EFBFBD><1F>5<EFBFBD>L<EFBFBD>#8<><1D>u<EFBFBD>o<EFBFBD><03> <19><1B>)<29>&<26><05><1A>6<<3C><1A>@B<><1A><16><16> <1B><>+<2B><19><18><19><>"<1B>2<>2<>1<><1A>-<2D>/<2F>-0<> <0A>c<EFBFBD>*<2A><><EFBFBD><1A>+<2B>+<2B><19><18><19>sf<00>EG,<01>F <02>-G,<01>G,<01> F/<02>G,<01> F,<05>)G,<01>+F,<05>,G,<01>/G)<05> G<05> G,<01>G)<05>&G,<01>(G)<05>)G,c <01>><00>|j|j|fi|<02><01>Sr<>)r<><00>get_table_options<6E>r<>r<>rs r<><00>get_multi_table_optionsz&DefaultDialect.get_multi_table_optionsy<00>*<00><00>*<2A>t<EFBFBD>*<2A>*<2A> <10> "<22> "<22>J<EFBFBD>
2025-02-23 09:07:52 +08:00
<EFBFBD>24<EFBFBD>
<EFBFBD>
2025-08-29 00:34:40 +08:00
r<EFBFBD>c <01>><00>|j|j|fi|<02><01>Sr<>)r<><00> get_columnsrs r<><00>get_multi_columnsz DefaultDialect.get_multi_columns~<00>"<00><00>*<2A>t<EFBFBD>*<2A>*<2A>4<EFBFBD>+;<3B>+;<3B>Z<EFBFBD>N<>2<EFBFBD>N<>Nr<4E>c <01>><00>|j|j|fi|<02><01>Sr<>)r<><00>get_pk_constraintrs r<><00>get_multi_pk_constraintz&DefaultDialect.get_multi_pk_constraint<6E>rr<>c <01>><00>|j|j|fi|<02><01>Sr<>)r<><00>get_foreign_keysrs r<><00>get_multi_foreign_keysz%DefaultDialect.get_multi_foreign_keys<79>s*<00><00>*<2A>t<EFBFBD>*<2A>*<2A> <10> !<21> !<21>:<3A>
2025-02-23 09:07:52 +08:00
<EFBFBD>13<EFBFBD>
<EFBFBD>
2025-08-29 00:34:40 +08:00
r<EFBFBD>c <01>><00>|j|j|fi|<02><01>Sr<>)r<>r<>rs r<><00>get_multi_indexesz DefaultDialect.get_multi_indexes<65>rr<>c <01>><00>|j|j|fi|<02><01>Sr<>)r<><00>get_unique_constraintsrs r<><00>get_multi_unique_constraintsz+DefaultDialect.get_multi_unique_constraints<74>s*<00><00>*<2A>t<EFBFBD>*<2A>*<2A> <10> '<27> '<27><1A>
2025-02-23 09:07:52 +08:00
<EFBFBD>79<EFBFBD>
<EFBFBD>
2025-08-29 00:34:40 +08:00
r<EFBFBD>c <01>><00>|j|j|fi|<02><01>Sr<>)r<><00>get_check_constraintsrs r<><00>get_multi_check_constraintsz*DefaultDialect.get_multi_check_constraints<74>s*<00><00>*<2A>t<EFBFBD>*<2A>*<2A> <10> &<26> &<26>
2025-02-23 09:07:52 +08:00
<EFBFBD>
<EFBFBD>68<EFBFBD>
<EFBFBD>
2025-08-29 00:34:40 +08:00
r<EFBFBD>c <01>><00>|j|j|fi|<02><01>Sr<>)r<><00>get_table_commentrs r<><00>get_multi_table_commentz&DefaultDialect.get_multi_table_comment<6E>rr<>)r<>zOptional[_ParamStyle]rTzOptional[IsolationLevel]r<>zOptional[ModuleType]r<>z Literal[True]r<><00>Optional[bool]r<>rar<>rarmzUnion[_NoArg, int]rirr<>rGrqrhr<>rhr<>r)<02>returnr>)r<>rr<00>None)r<>rArz
Type[Pool])rzOptional[_ListenerFnType])r<>rrr)rzOptional[Callable[[Any], None]]r<>)r<>rrrUrrrrh)r
rUrr)rrrrrr=)r<>rArr<)r&r2rr^rr)r<>rrr^rr)r<>r=rrh)r<>zDBAPIModule.Errorr<72>zCUnion[pool.PoolProxiedConnection, interfaces.DBAPIConnection, None]rz Optional[interfaces.DBAPICursor]rrh)r<>r=rr)<29><>__name__r<5F><00> __qualname__<5F>__doc__r%r-<00>statement_compilerr+<00> ddl_compilerr<72>r<><00>IdentifierPreparerr<72><00>supports_alter<65>supports_comments<74>supports_constraint_comments<74>inline_commentsr<73><00>div_is_floordivrr~<00>NONEr<45>rR<00>__annotations__rS<00>default_sequence_baser<65><00>execute_sequence_format<61>supports_schemas<61>supports_views<77>supports_sequences<65>sequences_optional<61>"preexecute_autoincrement_sequences<65>supports_identity_columns<6E>postfetch_lastrowid<69>favor_returning_over_lastrowid<69>#insert_null_pk_still_autoincrementsr<73>r<><00>update_returning_multifrom<6F>delete_returning_multifromr<6D><00>cte_follows_insert<72>supports_native_enumr<6D><00>supports_native_uuid<69>returns_native_bytes<65>#non_native_boolean_check_constraint<6E>supports_simple_order_by_label<65>tuple_in_valuesr$r$r<00>IsolationLevelCharacteristic<69>LoggingTokenCharacteristicr"<00>asint<6E> bool_or_str<74>asboolr_<00>supports_native_decimalr<6C>r<>rbrTrcrdr<><00>supports_sane_multi_rowcountrer<><00>supports_default_values<65>supports_default_metavalue<75>default_metavalue_token<65>supports_empty_insert<72>supports_multivalues_insertrirjr,<00> NOT_SUPPORTEDrkrm<00>insertmanyvalues_max_parameters<72>supports_is_distinct_fromrzrq<00>supports_for_update_ofr<66>rn<00>requires_name_normalize<7A>is_async<6E> has_terminate<74>$_legacy_binary_type_literal_encoding<6E>deprecated_paramsr*r<>rl<00>
NO_LINTINGr<EFBFBD><00>property<74>
deprecatedr<EFBFBD><00>memoized_propertyr<79>r<><00>update_executemany_returning<6E>delete_executemany_returningr<67>r<>r<>r<>r<>r<>r<><00> classmethodr<64>r<>r<>r<>r<>r<>r<>r<>r<>rrr r rr(r+rr9rDrIrLrOrNrXrer]rlrprsrvr<>r<>r<>r<>rZ<00>memoized_instancemethodr<64>r<>r<>r<>r<>r<>r<>r<>rrr r rrrrr<>r<>r<>rQrQws<><00><00>+<2B>!<21>-<2D>-<2D><16><1B>'<27>'<27>L<EFBFBD> <20>4<>4<><15><17>*<2A>*<2A>H<EFBFBD><19>N<EFBFBD><1D><15>#(<28> <20><1B>O<EFBFBD>#<23><1C><1A>O<EFBFBD><1C>'<27>'<27>,<2C>,<2C>K<EFBFBD>26<32><1B>/<2F>6<>26<32><1B>/<2F>6<><1E><19>$<24><1B><1B><14><19>N<EFBFBD><1E><16><1E><16>).<2E>&<26> %<25><1D><1E><17>%*<2A>"<22>*/<2F>'<27><1C><14><1C><14>!&<26><1E>!&<26><1E><1C><14><1E><16> <20><18>#<23><1B> <20><18> <20><18>*.<2E>'<27>%)<29>"<22><1B>O<EFBFBD>!3<><14>!3<>!3<>K<><EFBFBD>K<>K<>M<>G<>_<EFBFBD>G<>G<>I<>
2025-02-23 09:07:52 +08:00
<EFBFBD>"<06><1E>.@<01>T<EFBFBD>-?<3F>-?<3F> <20>J<EFBFBD>J<EFBFBD>$<24>D<EFBFBD>$<24>$<24>W<EFBFBD>-<2D>)<29><14>)<29>)<29>'<27>2<> <20>J<EFBFBD>J<EFBFBD><1D><1A><1A> <20>J<EFBFBD>J<EFBFBD><1A>k<EFBFBD>k<EFBFBD>
<EFBFBD>
.<06><17>*<2A>
<06>$<24><1B> <14>D<EFBFBD>!<21><19>9=<3D>'<27><1D>=<3D>%)<29>O<EFBFBD>]<5D>)<29>
,0<><19>=<3D>/<2F>04<30><1E> <0A>4<>!<21><1A>#'<27> <20>MO<4D>H<EFBFBD>J<>O<> <20><16>#<23><1B>:<3A>!&<26><1E><<3C>'<27><1B><14>
!<21><19>.<2E>"'<27><1F>!&<26><18>$<24>&<26>.3<EFBFBD>%<25>t<EFBFBD>3<> %<25>2<>2<>'<27>(D<><06>'+<2B><1E><03>*<2A>&+<2B>#<23> $<24><1D>#(<28> <20><1F><17>#<23><1A><1E><17>)-<2D><17><1D>-<2D>$<24><1B><14>H<EFBFBD><19>M<EFBFBD>
,3<>(<28><1B>T<EFBFBD><1B><1B>
<EFBFBD>
2025-08-29 00:34:40 +08:00
<EFBFBD><06>*-1<>48<34>&*<2A>,0<>26<32>/3<>&*<2A>9?<3F><1D><1D>/3<>%(<28><08>(;<3B>(;<3B>$<<3C>$)<29>).<2E>SI<01>)<29>SI<01>2<>SI<01>$<24> SI<01>
*<2A> SI<01> "0<> SI<01> -<2D>SI<01>$<24>SI<01>%7<>SI<01>-<2D>SI<01>"<22>SI<01>"<22>SI<01>#'<27>SI<01> <16>!SI<01>'<06>&SI<01>j<0E><14>T<EFBFBD>_<EFBFBD>_<EFBFBD> <0A> -<2D><06>
2025-02-23 09:07:52 +08:00

<EFBFBD> <06><0E> 
<EFBFBD>
<EFBFBD><1B><1B> C<01><1C> C<01>
<EFBFBD><1B><1B>C<01><1C>C<01>,$)<29> <20>#(<28> <20> <09><1B><1B><1A><1C><1A>
2025-08-29 00:34:40 +08:00
<EFBFBD><1B><1B>F<01><1C>F<01>
2025-02-23 09:07:52 +08:00
<0E>
<EFBFBD><1B><1B><19><1C><19>&
<EFBFBD><1B><1B>+<2B><1C>+<2B><0E>-<2D><0E>-<2D><0E>+<2B><0E>+<2B><11>9<><11>9<>(<28><11><11><11><11>
2025-08-29 00:34:40 +08:00
<18>"<0E>H<14>
<14>4<> ;<3B> <19>F<01>$<24>F<01>36<33>F<01>>A<>F<01> <0A>F<01>
<0E><<3C><1A> <12><1C><12>$5<><12> <0A><12>"
2025-02-23 09:07:52 +08:00
N<01>$<24>
N<01>,=<3D>
N<01> <0A>
N<01>
2025-08-29 00:34:40 +08:00
<EFBFBD><H<01> <0A>$<24>"<22>(<28>!<21>
<EFBFBD><1B><1B>?<3F><1C>?<3F><16>.<14>7<>=<3D>G<01>D<01>j(<28>X2<>.<2E>"<22><15> <1C><15>
<EFBFBD><15> 1<> <15>
<0E><15>
<EFBFBD>!<21>!<21>,<2C>"<22>,<2C>$4<>$<0E>"<18>4<14>"<1A>
2025-02-23 09:07:52 +08:00
<EFBFBD> G<19>R
<EFBFBD>
O<01>
<EFBFBD>

<EFBFBD>
O<01>
<EFBFBD>

<EFBFBD>

2025-08-29 00:34:40 +08:00
r<EFBFBD>rQc<01><><00>eZdZejZej ZejZ ejZ dZ dZ dZdZdZdZdZdZdZdZdZy)<04>StrCompileDialectTFN)rr<>rr%<00>StrSQLCompilerrr+r<00>StrSQLTypeCompilerr<72>r r<>r<>r<>r<>r<>r/r,r-r.r<>rGr:r<>r<>r<>rZrZ<00>sr<00><00>!<21>0<>0<><16><1B>'<27>'<27>L<EFBFBD> <20>3<>3<><15><17>*<2A>*<2A>H<EFBFBD><1B><14><1B><14><1B><14>#<23><1C> $<24><1D><1D><16><1D><16>).<2E>&<26>"<22><1B>"&<26><1F>%)<29>"r<>rZc<01><><00>eZdZUdZdZdZdZdZdZe jZ de d<dZ de d<dZde d<dZd e d
<ej"Zd e d <ej(ZdZd e d<dZdZdZdZdZdZde d<dZde d<ej<<00>Zde d< e Z!de d<de d<de d<de d<de d<de d <d!e d"<d#e d$<e"d%ej"<00>Z#dZ$d&e d'<d(Z%d)e d*<e& dXd+<2B><04>Z'e&e(jRf dYd,<2C><05>Z*e& dZd-<2D><04>Z+e& d[d.<2E><04>Z,d\d/<2F>Z-e.d0<64><00>Z/ej`d1<64><00>Z1ej`d2<64><00>Z2ej`d]d3<64><04>Z3ej`d]d4<64><04>Z4ej`d5<64><00>Z5 d^ d_d6<64>Z6ej`d7<64><00>Z7d8<64>Z8d`d9<64>Z9d:<3A>Z:d`d;<3B>Z;d`d<<3C>Z<d=<3D>Z=d><3E>Z>d?<3F>Z?d@<40>Z@dA<64>ZAdB<64>ZBej<>dadC<64><04>ZDe.dD<64><00>ZEdE<64>ZFdF<64>ZGdG<64>ZHdH<64>ZIdI<64>ZJej`dJ<64><00>ZKdK<64>ZLdL<64>ZMdM<64>ZNdN<64>ZO dbdO<64>ZPdP<64>ZQdQ<64>ZRdZSdRe dS< dcdT<64>ZTdU<64>ZUdV<64>ZVdW<64>ZWy)dr~Fr<00> execute_styleNzOptional[Compiled]rzAOptional[Tuple[List[ResultColumnsEntry], bool, bool, bool, bool]]<5D>result_column_structzOptional[Sequence[Row[Any]]]<5D>returned_default_rowsr9r<>zOptional[Executable]<5D>invoked_statementra<00> _rowcountzOptional[Callable[[str], str]]<5D>_translate_colnamezMapping[str, List[str]]<5D>_expanded_parametersr<00>root_connectionrD<00>_dbapi_connectionrrTrU<00>unicode_statementrrz%List[_MutableCoreSingleExecuteParams]r<>r7r<><00>&Optional[Sequence[BindParameter[Any]]]<5D>extracted_parametersr^zOptional[List[Tuple[Any, ...]]]r<>rrl<00>_num_sentinel_colsc<01>&<00>|j|<00>}||_||_|j|_|x|_}d|_||_t|<07>|_|jrJ|j jdi<00>}|jj} | |j|<08>|_|j|_ |j<00>|_g|_|j"r|j%<00>g|_|S|j(g|_|S)zKInitialize execution context for an ExecutableDDLElement
construct.Trx)<15>__new__rerfrTr<00>isddlr<6C>rUrgrxr<>r<><00>_render_schema_translatesr<73><00> create_cursorrr<>r<>r)r<><00>_empty_dict_params)
r<EFBFBD>rTr<>r<>r<><00> compiled_ddlr<6C>rrx<00>rsts
r<><00> _init_ddlz!DefaultExecutionContext._init_ddl<64>s<00><00><13>{<7B>{<7B>3<EFBFBD><1F><04>)<29><04><1C>!1<><04><1E>!<21>)<29>)<29><04> <0C>#/<2F>/<2F><04> <0A><08><19><04>
<EFBFBD>!2<><04><1E>!$<24>X<EFBFBD><1D><04><1E> <13> (<28> (<28>#'<27>#9<>#9<>#=<3D>#=<3D>&<26><02>$<0E> <20><1B>#<23>#<23>=<3D>=<3D>C<EFBFBD>%(<28><14>&<26>&<26>(<<3C>&<0E>D<EFBFBD> "<22><1E>/<2F>/<2F><04><0E><1A>(<28>(<28>*<2A><04> <0B>#%<25><04> <20> <12> <1D> <1D>&<26>><3E>><3E>@<40>A<>D<EFBFBD>O<EFBFBD><14> <0B> $<24>6<>6<>7<>D<EFBFBD>O<EFBFBD><13> r<>c
2025-02-23 09:07:52 +08:00
<01><> <00>|j|<00>}
||
_||
_|j|
_||
_||
_||
_| |
_||
_|j|j|j|j|jf|
_|jx|
_} |j x|
_} |j"x|
_} |j$|
_| s| s| <0A>r<>|j(j*}t,rt/|t0<00>sJ<00>d|
_t5|j6<00>x|
_}t5|j:<00>x|
_}|r|j>rd|
_ |r|rJ<00>|s|<10>rf|jB<00>rY| rC|
jjDs-tGjHd|
jjJ<00>d<03><03><00>| rO|jLrC|
jjNs-tGjHd|
jjJ<00>d<04><03><00>| r7|
jjPr!|jRstGjHd<05><00>| rC|
jjTs-tGjHd|
jjJ<00>d<06><03><00>| rC|
jjVs-tGjHd|
jjJ<00>d<07><03><00>|s|jY|d<08> <09>g|
_-n<>t]|<06>D<00><11>cgc]\}}|jY|d||<08>
<EFBFBD><00><02>c}}|
_-t_|<06>d kDrl|
jrK|jRr?t`jb|
_2|jR}|jf<00>'|jh|
_5nt`jl|
_2|jn|
_8|
js<00>|
_:|
j jvs|
j jxr|
j{<00>|j|}|}|j~s |j<>r<>|
j<EFBFBD>rtGjHd <0A><00>|j<>|
jZd<00>}|j*|
_8|j<>|
_Dt<>|<14>}|j<>|j<><00>|j<>}n%|j<>r|
j j<>}nd }|j<>rJ|
jj<>di<00>}|j<>j<>}||
jp|<18>|
_8|
jp|
_|j<>rdg}|<17>J<00>|
jZD]F}|D<00>cgc]}||vr||||<00>n||<00><02>}}|j<>|j<>|<1D><00><00>H||
_P|
Sg}|j<>}|
jZD]p}|r6|D<00>cic]*}|j<>||<1C>||vr||||<00>n||<00><02>,} }n%|D<00>cic]}|||vr||||<00>n||<00><02>} }|j<>| <20><00>r||
_P|
2025-08-29 00:34:40 +08:00
Scc}}wcc}wcc}wcc}w)z6Initialize execution context for a Compiled construct.Tr<54>z] with current server capabilities does not support INSERT..RETURNING when executemany is usedz} with current server capabilities does not support INSERT..RETURNING with deterministic row ordering when executemany is usedznStatement does not have "insertmanyvalues" enabled, can't use INSERT..RETURNING with executemany in this case.z] with current server capabilities does not support UPDATE..RETURNING when executemany is usedz] with current server capabilities does not support DELETE..RETURNING when executemany is usedF)ri<00> escape_names)ru<00> _group_numberrirNzL'literal_execute' or 'expanding' parameters can't be used with executemany()rrx)RrlrerfrTrirar<00> cache_hitr<74><00>_result_columns<6E>_ordered_columns<6E>_textual_ordered_columns<6E>_ad_hoc_textual<61>_loose_column_name_matchingr_<00>isinsert<72>isupdate<74>isdelete<74> isplaintext<78>is_text<78> compile_stater<65>rr<>rJ<00>is_crudrh<00>
_returning<EFBFBD>_is_explicit_returningr<67><00>_is_implicit_returning<6E>_supplemental_returning<6E>_is_supplemental_returning<6E>for_executemanyr<79>r"r<>r<><00>_sort_by_parameter_orderr<72>rir<>rUrV<00>construct_paramsr<73><00> enumeraterr<00>INSERTMANYVALUESr^r<>r<>rj<00> EXECUTEMANY<4E>stringrgror<00>insert_prefetch<63>update_prefetch<63>_process_execute_defaults<74>_bind_processors<72>literal_execute_params<6D>post_compile_paramsr<73><00>#_process_parameters_for_postcompile<6C>parameter_expansionrd<00>dictr<00>
processors<EFBFBD> positiontupr<70>rxr<>r<>rnr6r)r<><00>escaped_bind_names)!r<>rTr<>r<>r<>rr<>rarirwr<><00>ii<69>iu<69>id_<64> dml_statement<6E>ier<65>iir<69>grp<72>mr<6D>r<><00>flattened_processors<72>expanded_stater<65>rxrr<00>core_positional_parameters<72>compiled_paramsrz<00>l_param<61>core_dict_parameters<72> escaped_names<65>d_params! r<><00>_init_compiledz&DefaultExecutionContext._init_compileds<><00><00><13>{<7B>{<7B>3<EFBFBD><1F><04>)<29><04><1C>!1<><04><1E>!<21>)<29>)<29><04> <0C>$8<><04>!<21>!2<><04><1E> <20><04> <0A>"<22><04><0E>!2<><04><1E> <15> $<24> $<24> <14> %<25> %<25> <14> -<2D> -<2D> <14> $<24> $<24> <14> 0<> 0<> %
2025-02-23 09:07:52 +08:00
<EFBFBD><04>!<21>&<26>.<2E>.<2E>.<2E><04> <0A><02>%<25>.<2E>.<2E>.<2E><04> <0A><02>&<26>/<2F>/<2F>/<2F><04> <0A><03><1F>+<2B>+<2B><04> <0C> <0A><12>s<EFBFBD>$<24>2<>2<><<3C><<3C>M<EFBFBD><1C>!<21>-<2D><1A><<3C><<3C><<3C><1F>D<EFBFBD>L<EFBFBD>04<30>]<5D>5M<35>5M<35>0N<30> N<>D<EFBFBD> '<27>#<23>04<30><18>+<2B>+<2B>1<0E> <0E>D<EFBFBD> '<27>#<23><13>}<7D><<3C><<3C>26<32><04>/<2F><1C><03> $<24>$<24><13>s<EFBFBD><08> 8<> 8<><15>d<EFBFBD>l<EFBFBD>l<EFBFBD>G<>G<><1D>1<>1<>"<22>4<EFBFBD><<3C><<3C>#C<>#C<>"D<>EE<01>E<01><16><16> <17>%<25>><3E>><3E> <20>L<EFBFBD>L<EFBFBD>]<5D>]<5D><1D>1<>1<>"<22>4<EFBFBD><<3C><<3C>#C<>#C<>"D<>E3<>3<><16><16><17><1C> <0C> <0C>9<>9<>$<24>6<>6<><1D>1<>1<>4<><16><16>
<18><04> <0C> <0C> I<> I<><1D>1<>1<>"<22>4<EFBFBD><<3C><<3C>#C<>#C<>"D<>EE<01>E<01><16><16>
<19><14><1C><1C>!J<>!J<><1D>1<>1<>"<22>4<EFBFBD><<3C><<3C>#C<>#C<>"D<>EE<01>E<01><16><16> <1A><18>)<29>)<29>)=<3D>!&<26>*<2A><12>(<0E>D<EFBFBD> $<24>(<28>
<EFBFBD>3<>(<0E>4<>F<EFBFBD>C<EFBFBD><11> <19>)<29>)<29><15>!&<26>"%<25>)=<3D> *<2A><12> 4<>(<0E>D<EFBFBD> $<24><13>:<3A><EFBFBD><11>"<22><17>=<3D>=<3D>X<EFBFBD>%?<3F>%?<3F>)5<>)F<>)F<>D<EFBFBD>&<26>"<22>4<>4<>C<EFBFBD><1A>+<2B>+<2B>7<>25<32>2J<32>2J<32><04>/<2F>)5<>)A<>)A<>D<EFBFBD>&<26>!)<29><1F><1F><04><1E><1A>(<28>(<28>*<2A><04> <0B> <0F>=<3D>=<3D> (<28> (<28>D<EFBFBD>M<EFBFBD>M<EFBFBD>,I<>,I<> <10> *<2A> *<2A> ,<2C><1D>.<2E>.<2E>
<EFBFBD> <17> <1D> <14> *<2A> *<2A>h<EFBFBD>.J<>.J<><13><1F><1F><19>-<2D>-<2D>.<2E><12><12>
&<26>I<>I<><14>(<28>(<28><11>+<2B><0E>N<EFBFBD>
&4<>%=<3D>%=<3D>D<EFBFBD> "<22>(6<>(J<>(J<>D<EFBFBD> %<25>#'<27>
<EFBFBD>#3<> <20> <20> '<27> '<27><0E>(A<>(A<> B<>(<28>4<>4<>K<EFBFBD> <15> <20> <20><1E>-<2D>-<2D>3<>3<>K<EFBFBD><1E>K<EFBFBD> <13> (<28> (<28>#'<27>#9<>#9<>#=<3D>#=<3D>&<26><02>$<0E> <20><1B>#<23>#<23>=<3D>=<3D>C<EFBFBD>%(<28><14>&<26>&<26>(<<3C>&<0E>D<EFBFBD> "<22> <1E>/<2F>/<2F><04><0E> <14> <1E> <1E>IK<49> &<26><1E>*<2A> *<2A>*<2A>#'<27>#;<3B>#;<3B><0F> +<2B> &<12> +<2B><03><1F>"6<>6<>2<>,<2C>S<EFBFBD>1<>/<2F>#<23>2F<32>G<>,<2C>S<EFBFBD>1<>2<> +<2B> <18>&<12>+<2B>1<>1<><1B>3<>3<>G<EFBFBD><<3C><12>$<<3C>9<>D<EFBFBD>O<EFBFBD>F<14> <0B>CEG<01> <20>$<24>7<>7<>M<EFBFBD>$(<28>#;<3B>#;<3B><0F> <20>$3<> <16> $3<>C<EFBFBD> &<26>)<29>)<29>#<23>s<EFBFBD>3<>"<22>&:<3A>:<3A>6<>0<><13>5<>o<EFBFBD>c<EFBFBD>6J<36>K<>!0<><13>!5<>6<>
$3<> <1C><16>$3<> <16> $3<>C<EFBFBD> <1C>"<22>&:<3A>:<3A>6<>0<><13>5<>o<EFBFBD>c<EFBFBD>6J<36>K<>!0<><13>!5<>6<>
2025-08-29 00:34:40 +08:00
$3<> <1C><16>%<25>+<2B>+<2B>G<EFBFBD>4<>)$<<3C>,3<>D<EFBFBD>O<EFBFBD><13> <0B><>{(<0E><>\&<12><>2<16><>s<00>Y<06>/Y<06>/Y<06>Y c<01>\<00>|j|<00>}||_||_|j|_d|_||_|s@|jj r|j<00>g|_ns|jg|_n`t|d|j<00>r||_n?t|dt<00>r||_n$|D<00>cgc]}|j|<08><00><02>c}|_t|<06>dkDrtj|_|x|_|_|j%<00>|_|Scc}w)z8Initialize execution context for a string SQL statement.Trr)rlrerfrTr<>r<>r<>r)r<>rpr<>r<>rrr<>r^r<>rgror) r<>rTr<>r<>r<>r<>r<>r<><00>ps r<><00>_init_statementz'DefaultExecutionContext._init_statements<00><00><13>{<7B>{<7B>3<EFBFBD><1F><04>)<29><04><1C>!1<><04><1E>!<21>)<29>)<29><04> <0C><1B><04> <0C>!2<><04><1E><19><13>|<7C>|<7C>&<26>&<26>#*<2A>#B<>#B<>#D<>"E<><04><0F>#'<27>#:<3A>#:<3A>";<3B><04><0F> <17>
2025-02-23 09:07:52 +08:00
<EFBFBD>1<EFBFBD> <0A>w<EFBFBD>'F<>'F<> G<>(<28>D<EFBFBD>O<EFBFBD> <17>
2025-08-29 00:34:40 +08:00
<EFBFBD>1<EFBFBD> <0A>t<EFBFBD> ,<2C>(<28>D<EFBFBD>O<EFBFBD>=G<01><0E><F<>q<EFBFBD><07>/<2F>/<2F><01>2<>J<EFBFBD><0E>D<EFBFBD>O<EFBFBD> <0F>z<EFBFBD>?<3F>Q<EFBFBD> <1E>!-<2D>!9<>!9<>D<EFBFBD> <1E>2;<3B>;<3B><04><0E><14>/<2F><1A>(<28>(<28>*<2A><04> <0B><13> <0B><>s<00>D)c<01><><00>|j|<00>}||_||_|j|_||_|j <00>|_|S)z;Initialize execution context for a ColumnDefault construct.)rlrerfrTr<>ror)r<>rTr<>r<>r<>r<>s r<><00> _init_defaultz%DefaultExecutionContext._init_default.sL<00><00><13>{<7B>{<7B>3<EFBFBD><1F><04>)<29><04><1C>!1<><04><1E>!<21>)<29>)<29><04> <0C>!2<><04><1E><1A>(<28>(<28>*<2A><04> <0B><13> r<>c<01><><00>|j<00>yt<00>}|j}|jj}|<03>J<00>|tur d||z
2025-02-23 09:07:52 +08:00
fzS|t
ur d||z
fzS|t ur d||z
fzS|tur.d|jvrd|jd||z
fzSd||z
fzS|tur3d|jj|jj||z
fzSy )
2025-08-29 00:34:40 +08:00
Nzraw sqlz no key %.5fszcached since %.4gs agozgenerated in %.5fs<EFBFBD>_cache_disable_reasonzcaching disabled (%s) %.5fs zcaching disabled %.5fsz,dialect %s+%s does not support caching %.5fs<EFBFBD>unknown) rrrw<00> _gen_time<6D> NO_CACHE_KEY<45> CACHE_HIT<49>
CACHE_MISS<EFBFBD>CACHING_DISABLEDr<44><00>NO_DIALECT_SUPPORTrTr<>r<>)r<><00>now<6F>ch<63>gen_times r<><00>_get_cache_statsz(DefaultExecutionContext._get_cache_statsBs<00><00> <0F>=<3D>=<3D> <20><1C><1A>n<EFBFBD><03> <11>^<5E>^<5E><02><17>=<3D>=<3D>*<2A>*<2A><08><17>#<23>#<23>#<23> <0A><1C> <1D>!<21>S<EFBFBD>8<EFBFBD>^<5E>$5<>5<> 5<> <0F>9<EFBFBD>_<EFBFBD>+<2B>s<EFBFBD>X<EFBFBD>~<7E>.?<3F>?<3F> ?<3F> <0F>:<3A> <1D>'<27>3<EFBFBD><18>><3E>*;<3B>;<3B> ;<3B> <0F>#<23> #<23>&<26>$<24>*@<40>*@<40>@<40>5<><18>*<2A>*<2A>+B<>C<><17>(<28>N<EFBFBD>9<12><12><12>
0<>3<EFBFBD><18>><3E>2C<32>C<>C<> <0F>%<25> %<25>A<><14> <0C> <0C>!<21>!<21><14> <0C> <0C>#<23>#<23><13>h<EFBFBD><0E>E<0E><0E> <0E> r<>c<01>Z<00>|jtjtjfvSr<>)r^rr<>r<>r<>s r<>r<>z#DefaultExecutionContext.executemanyds,<00><00><13>!<21>!<21> <18> $<24> $<24> <18> )<29> )<29>&
2025-02-23 09:07:52 +08:00
<EFBFBD>
<EFBFBD>
2025-08-29 00:34:40 +08:00
r<EFBFBD>c<01><><00>|jr|jjSd|jvr2|jjj |jd<00>S|jjS)Nrx)rr<>r<>rTr<><00>_with_schema_translater<65>s r<>r<>z+DefaultExecutionContext.identifier_preparerkse<00><00> <0F>=<3D>=<3D><17>=<3D>=<3D>)<29>)<29> )<29> #<23>t<EFBFBD>'=<3D>'=<3D> =<3D><17><<3C><<3C>3<>3<>J<>J<><14>&<26>&<26>'=<3D>><3E><0E> <0E><18><<3C><<3C>3<>3<> 3r<33>c<01>.<00>|jjSr<>)rer&r<>s r<>r&zDefaultExecutionContext.enginevs<00><00><13>#<23>#<23>*<2A>*<2A>*r<>c<01>r<00>trt|jt<00>sJ<00>|jjSr<>)rr<>rr-<00> postfetchr<68>s r<><00>postfetch_colsz&DefaultExecutionContext.postfetch_colszs)<00><00> <18><1D>d<EFBFBD>m<EFBFBD>m<EFBFBD>[<5B>9<> 9<>9<><13>}<7D>}<7D>&<26>&<26>&r<>c<01><><00>trt|jt<00>sJ<00>|jr|jj
S|j r|jjSy)Nr<4E>)rr<>rr-r}r<>r~r<>r<>s r<><00> prefetch_colsz%DefaultExecutionContext.prefetch_cols<6C>sJ<00><00> <18><1D>d<EFBFBD>m<EFBFBD>m<EFBFBD>[<5B>9<> 9<>9<> <0F>=<3D>=<3D><17>=<3D>=<3D>0<>0<> 0<> <11>]<5D>]<5D><17>=<3D>=<3D>0<>0<> 0<>r<>c<01>:<00>|jjdd<02>S)N<> no_parametersF)r<>r<>r<>s r<>r<>z%DefaultExecutionContext.no_parameters<72>s<00><00><13>%<25>%<25>)<29>)<29>/<2F>5<EFBFBD>A<>Ar<41>c<01>$<00>|j}d|jvr;|jjdi<00>}|jj}|||<05>}|s3|j
2025-02-23 09:07:52 +08:00
j r|j
j<00>}ni}|j|j|||<00><02>|jj<00>}|<07>|d}nd}|<02>@|j|j
|jjdd<00>} | r| |<08>S|S)aExecute a string statement on the current cursor, returning a
scalar result.
Used to fire off sequences, default phrases, and "select lastrowid"
types of statements individually or in the context of a parent INSERT
or UPDATE statement.
2025-08-29 00:34:40 +08:00
rx)r<>Nrr) rer<>r<>r<>rnrTr<>r)<00>_cursor_executer<00>fetchoner<65>r<>)
r<EFBFBD><00>stmt<6D>type_r<5F><00>connrxrrr<><00>rr}s
r<><00>_execute_scalarz'DefaultExecutionContext._execute_scalar<61>s<00><00><14>#<23>#<23><04> !<21>T<EFBFBD>%;<3B>%;<3B> ;<3B>#'<27>#9<>#9<>#=<3D>#=<3D>&<26><02>$<0E> <20><17>*<2A>*<2A>D<>D<>C<EFBFBD><16>t<EFBFBD>1<>2<>D<EFBFBD><19><13>|<7C>|<7C>&<26>&<26>!<21>\<5C>\<5C>A<>A<>C<>
2025-02-23 09:07:52 +08:00
<EFBFBD><1F>
<EFBFBD> <0C><1C><1C>T<EFBFBD>[<5B>[<5B>$<24>
2025-08-29 00:34:40 +08:00
<EFBFBD>D<EFBFBD><1C>I<><12>k<EFBFBD>k<EFBFBD>"<22>"<22>$<24><03> <0E>?<3F><13>A<EFBFBD><06>A<EFBFBD><14>A<EFBFBD> <10> <1C><18>1<>1<><14> <0C> <0C>d<EFBFBD>k<EFBFBD>k<EFBFBD>5<>5<>a<EFBFBD>8<><11>;<3B><0E>D<EFBFBD><14><1B>A<EFBFBD>w<EFBFBD><0E><10>r<>c<01><00>|jSr<>)rer<>s r<>r<>z"DefaultExecutionContext.connection<6F>s<00><00><13>#<23>#<23>#r<>c<01>,<00>|jjsy|jjr<>|jj dd<03>xr<>|j
2025-02-23 09:07:52 +08:00
xr.t |j
jtj<00>xsl|j
xs.t |j
2025-08-29 00:34:40 +08:00
jtj<00>xr-|jxrtj|j<00>}|S|jj dd<01>}|S)NF<4E>stream_resultsT)rTrzrqr<>r<>rr<>r<>r'<00>
2025-02-23 09:07:52 +08:00
Selectable<EFBFBD>
2025-08-29 00:34:40 +08:00
TextClauserg<00>SERVER_SIDE_CURSOR_RE<52>match)r<><00>use_server_sides r<><00>_use_server_side_cursorz/DefaultExecutionContext._use_server_side_cursor<6F>s<><00><00><13>|<7C>|<7C>8<>8<><18> <0F><<3C><<3C> +<2B> +<2B>"<22>4<>4<>8<>8<> <20>$<24><0E><0E><15> <0A> <0A>O<01><1E>t<EFBFBD>}<7D>}<7D>6<>6<>
<EFBFBD>8M<EFBFBD>8M<EFBFBD>N<> <12>!<21>M<EFBFBD>M<EFBFBD>)<29><1A>%<25> <20>M<EFBFBD>M<EFBFBD>3<>3<>Z<EFBFBD>5J<35>5J<35><1A>L<01> <1D>.<2E>.<2E> L<01>.<2E>3<>3<>D<EFBFBD>4J<34>4J<34>K<> <1C>*<1F><1E> #<23>4<>4<>8<>8<> <20>%<25><0E>O<EFBFBD><1F>r<>c<01><00>|jjrY|jjdd<02>s&|jjr'|j <00>rd|_|j<00>Sd|_|j<00>S)Nr<4E>FT) rTrzr<>r<>rqr<><00>_is_server_side<64>create_server_side_cursor<6F>create_default_cursorr<72>s r<>roz%DefaultExecutionContext.create_cursor<6F>sq<00><00> <11>L<EFBFBD>L<EFBFBD> 5<> 5<><14>&<26>&<26>*<2A>*<2A>+;<3B>U<EFBFBD>C<><18>L<EFBFBD>L<EFBFBD>4<>4<><1C>4<>4<>6<>$(<28>D<EFBFBD> <20><17>1<>1<>3<> 3<>#(<28>D<EFBFBD> <20><17>-<2D>-<2D>/<2F> /r<>c<01>"<00>|j<00>Sr<>)<01>fetchall)r<>rs r<>r<>z.DefaultExecutionContext.fetchall_for_returning<6E>s<00><00><15><EFBFBD><EFBFBD> <20> r<>c<01>6<00>|jj<00>Sr<>)rfrr<>s r<>r<>z-DefaultExecutionContext.create_default_cursor<6F>s<00><00><13>%<25>%<25>,<2C>,<2C>.<2E>.r<>c<01><00>t<00><00>r<><00>r<>r<>s r<>r<>z1DefaultExecutionContext.create_server_side_cursor<6F>s <00><00>!<21>#<23>#r<>c<01><00>yr<>r<>r<>s r<><00>pre_execz DefaultExecutionContext.pre_exec<65>rEr<>c<01><00>td<01><00>)Nz,This dialect does not support OUT parametersr<73>)r<>r<>s r<><00>get_out_parameter_valuesz0DefaultExecutionContext.get_out_parameter_values<65>s<00><00>!<21> :<3A>
2025-02-23 09:07:52 +08:00
<EFBFBD>
2025-08-29 00:34:40 +08:00
r<EFBFBD>c<01><00>yr<>r<>r<>s r<><00> post_execz!DefaultExecutionContext.post_execrEr<>c<01>:<00>|j|j|<03>S)z<>Return a 'result processor' for a given type as present in
2025-02-23 09:07:52 +08:00
cursor.description.
This has a default implementation that dialects can override
for context-sensitive result type handling.
2025-08-29 00:34:40 +08:00
)r<>rT)r<>r<><00>colname<6D>coltypes r<><00>get_result_processorz,DefaultExecutionContext.get_result_processors<00><00><15>-<2D>-<2D>d<EFBFBD>l<EFBFBD>l<EFBFBD>G<EFBFBD>D<>Dr<44>c<01>.<00>|jjS)a return self.cursor.lastrowid, or equivalent, after an INSERT.
2025-02-23 09:07:52 +08:00
This may involve calling special cursor functions, issuing a new SELECT
on the cursor (or a new one), or returning a stored value that was
calculated within post_exec().
This function will only be called for dialects which support "implicit"
primary key generation, keep preexecute_autoincrement_sequences set to
False, and when no explicit id value was bound to the statement.
The function is called once for an INSERT statement that would need to
return the last inserted primary key for those dialects that make use
of the lastrowid concept. In these cases, it is called directly after
:meth:`.ExecutionContext.post_exec`.
2025-08-29 00:34:40 +08:00
)r<00> lastrowidr<64>s r<><00> get_lastrowidz%DefaultExecutionContext.get_lastrowids<00><00>"<14>{<7B>{<7B>$<24>$<24>$r<>c<01><00>yr<>r<>)r<>r<>s r<><00>handle_dbapi_exceptionz.DefaultExecutionContext.handle_dbapi_exception!rEr<>c<01>^<00>|j<00> |jS|jjSr<>)rbr<00>rowcountr<74>s r<>r<>z DefaultExecutionContext.rowcount$s&<00><00> <0F>><3E>><3E> %<25><17>><3E>><3E> !<21><17>;<3B>;<3B>'<27>'<27> 'r<>c<01><00>|jduSr<>)rbr<>s r<><00> _has_rowcountz%DefaultExecutionContext._has_rowcount+s<00><00><13>~<7E>~<7E>T<EFBFBD>)<29>)r<>c<01>.<00>|jjSr<>)rTr<>r<>s r<>r<>z.DefaultExecutionContext.supports_sane_rowcount/s<00><00><13>|<7C>|<7C>2<>2<>2r<32>c<01>.<00>|jjSr<>)rTrBr<>s r<>rBz4DefaultExecutionContext.supports_sane_multi_rowcount2s<00><00><13>|<7C>|<7C>8<>8<>8r<38>c<01>J<00>|j}|j<00>-|jdd<02>r|jj|_|j
s |j r|j<00>}d}n<>|jdd<00>}|jxs|jdd<02>}|j}|r<|tjur*tj|j|j<00>}|jxs|jj}|<06>tj}tj |||<06>}|j"}|r7|j$s+t't(|<07>j*r|j-|<02>|j.|_|r|j1|<03>}|S)N<>preserve_rowcountF<74> yield_perr<72>)r<>rbr<>rr<>r<>r<><00>_setup_dml_or_text_resultr<74><00>cursor_fetch_strategy<67>_cursor<6F>_DEFAULT_FETCH<43>BufferedRowCursorFetchStrategy<67>alternate_cursor_descriptionr<6E><00>_NO_CURSOR_DQL<51> CursorResultrrmrr-<00>has_out_parameters<72>_setup_out_parameters<72> _soft_closedr<64>)r<><00>exec_optr<74><00>yp<79>sr<73>strategy<67>cursor_descriptionrs r<><00>_setup_result_proxyz+DefaultExecutionContext._setup_result_proxy5sa<00><00><17>)<29>)<29><08> <0F>><3E>><3E> !<21>h<EFBFBD>l<EFBFBD>l<EFBFBD>3F<33><05>&N<>!<21>[<5B>[<5B>1<>1<>D<EFBFBD>N<EFBFBD> <10><<3C><<3C>4<EFBFBD><<3C><<3C><19>3<>3<>5<>F<EFBFBD><16>B<EFBFBD><19><1C><1C>k<EFBFBD>4<EFBFBD>0<>B<EFBFBD><15>%<25>%<25>N<><18><1C><1C>6F<36><05>)N<>B<EFBFBD><1B>1<>1<>H<EFBFBD><11>h<EFBFBD>'<27>"8<>"8<>8<>"<22>A<>A<><18>K<EFBFBD>K<EFBFBD><14>!7<>!7<><12><08><19>5<>5<>+<2B><17>;<3B>;<3B>*<2A>*<2A> <1F>"<22>)<29>"<22>1<>1<><08><1C>)<29>)<29>$<24><08>:L<>M<>F<EFBFBD><17>=<3D>=<3D><08> <15><18>J<EFBFBD>J<EFBFBD><14>[<5B>(<28>+<2B>><3E>><3E> <10> &<26> &<26>v<EFBFBD> .<2E>"<22>/<2F>/<2F><04><19> <0A><1B>%<25>%<25>b<EFBFBD>)<29>F<EFBFBD><15> r<>c <01>v<00>tt|j<00>}|jj <00>D<00><03>cgc]\}}|j
2025-02-23 09:07:52 +08:00
r||f<02><02>}}}i}t |D<00><03>cgc]\}}|<03><02> c}}|j|D<00><03>cgc]\}}|<04><02> c}}<03><00>D]<5D>\}}|j} | j|j<00>}
|
j|jj<00>} |
2025-08-29 00:34:40 +08:00
j|j| <0B>} | <0C>| |<08>}|||j<<00><>||_ycc}}wcc}}wcc}}wr<>)rr-r<00>
bind_namesr0<00>
isoutparamr<EFBFBD>r<>r<><00> dialect_implrT<00>get_dbapi_typer<65><00>result_processorrz<00>out_parameters) r<>r<>r<00>paramr<6D><00>out_bindparamsr<00> bindparam<61> raw_valuer<65><00> impl_type<70>
dbapi_typers r<>rz-DefaultExecutionContext._setup_out_parameters`s3<00><00><17> <0B>T<EFBFBD>]<5D>]<5D>3<><08> (<28>2<>2<>8<>8<>:<3A>
2025-02-23 09:07:52 +08:00
<EFBFBD>:<3A> <0B><05>t<EFBFBD><14><1F><1F><13>D<EFBFBD>M<EFBFBD>:<3A> <17>
<EFBFBD>
<1C><0E>$'<27>&4<> 5<>n<EFBFBD>{<7B>u<EFBFBD>d<EFBFBD>U<EFBFBD>n<EFBFBD> 5<> <10> )<29> )<29>)7<>8<><1E>+<2B>%<25><14><14><1E>8<> <0E>%
<EFBFBD> <20>I<EFBFBD>y<EFBFBD> <1E>N<EFBFBD>N<EFBFBD>E<EFBFBD><1D>*<2A>*<2A>4<EFBFBD><<3C><<3C>8<>I<EFBFBD>"<22>1<>1<>$<24>,<2C>,<2C>2K<32>2K<32>L<>J<EFBFBD>(<28>9<>9<><14> <0C> <0C>j<EFBFBD> <0E> <1C> <20>+<2B>,<2C>Y<EFBFBD>7<> <09>,5<>N<EFBFBD>9<EFBFBD>=<3D>=<3D> )<29>%
<EFBFBD> !/<2F><06><1D><>/
<EFBFBD><EFBFBD> 6<><36>8s<00>D)<06>! D/
<EFBFBD> D5c<01><><00>tt|j<00>}|j}|jr|j
t jurB|jr6tj|j|j|j<00><01>}|jr|j<00>|_|j"r<|tj$ur*tj&|j|j(<00>}|tj*urd}n$|jxs|jj,}|<03>tj*}n:|j.r.|j
2025-08-29 00:34:40 +08:00
t jusJ<00>|d|j. }tj0|||<03>}|jr<>|j2rw|j5<00>}||_|j9||<05>|_|j:j<sJ<00>|j>r|jA|<05>|S|jC<00>|S|jDs|jC<00>|S|j2rq|j5<00>}|r||_tG|<05>|_$|j>r|jA|<05>n|jC<00>|j:j<sJ<00>|S|j:j<s9|jH<00>|jjJ|_$|jC<00>|S|jLs |jNr'|jH<00>|jjJ|_$|S)N)<02>initial_buffer<65>alternate_descriptionr)(rr-rr<>r}r^rr<>r<>r<><00> FullyBufferedCursorFetchStrategyrr<>rr0<00>_setup_ins_pk_from_lastrowid<69>inserted_primary_key_rowsr<73>r<>rr<><00>_NO_CURSOR_DMLr<4C>rjrr<><00>allr`<00>%_setup_ins_pk_from_implicit_returning<6E> _metadata<74> returns_rowsr<73><00>_rewind<6E> _soft_closer<65>rrbr<>r~r)r<>rr
r r<>r<>s r<>r<>z1DefaultExecutionContext._setup_dml_or_text_result|s<><00><00><17> <0B>T<EFBFBD>]<5D>]<5D>3<><08>(,<2C>(B<>(B<><08> <0F>=<3D>=<3D><14>"<22>"<22>l<EFBFBD>&C<>&C<>C<><1C>0<>0<>"<22>C<>C<><18>K<EFBFBD>K<EFBFBD>#'<27>#><3E>#><3E>!<21>=<3D>=<3D> <12><08><18>+<2B>+<2B><18>5<>5<>7<><15>.<2E> <10> <1F> <1F>H<EFBFBD><07>0F<30>0F<30>$F<><1E>=<3D>=<3D><14> <0B> <0B>T<EFBFBD>3<>3<><0E>H<EFBFBD> <14>w<EFBFBD>-<2D>-<2D> -<2D>!%<25> <1E><19>5<>5<>+<2B><17>;<3B>;<3B>*<2A>*<2A> <1F>
2025-02-23 09:07:52 +08:00
<1E> %<25><1E>-<2D>-<2D>H<EFBFBD> <11> $<24> $<24><17>%<25>%<25><1C>)F<>)F<>F<> F<>F<>"4<><11>T<EFBFBD>,<2C>,<2C>,<2C>"<0E> <1E>-4<>,@<40>,@<40> <10>(<28>.<2E>-
<EFBFBD><06> <10>=<3D>=<3D><13>*<2A>*<2A><1D>z<EFBFBD>z<EFBFBD>|<7C><04>-1<><04>*<2A><19>><3E>><3E>v<EFBFBD>t<EFBFBD>L<><15>.<2E><1E>'<27>'<27>4<>4<>4<>4<>
2025-08-29 00:34:40 +08:00
<18>2<>2<><1A>N<EFBFBD>N<EFBFBD>4<EFBFBD>(<28>J<16> <0A>G<1B>&<26>&<26>(<28>F<16> <0A>E<1A>0<>0<><16>"<22>"<22>$<24>B<16> <0A>3<12> (<28> (<28><19>:<3A>:<3A><<3C>D<EFBFBD><13>-1<><04>*<2A> <20><14>Y<EFBFBD>D<EFBFBD>N<EFBFBD><13>.<2E>.<2E><16><0E><0E>t<EFBFBD>$<24><16>"<22>"<22>$<24><1A>#<23>#<23>0<>0<> 0<>0<><16> <0A><18>!<21>!<21>.<2E>.<2E><14>~<7E>~<7E>%<25>!%<25><1B><1B>!5<>!5<><04><0E> <12> <1E> <1E> <20><16> <0A><12>]<5D>]<5D>d<EFBFBD>m<EFBFBD>m<EFBFBD><13>~<7E>~<7E>%<25>!%<25><1B><1B>!5<>!5<><04><0E><15> r<>c<01>"<00>|j<00>Sr<>)<01>_setup_ins_pk_from_emptyr<79>s r<>rz1DefaultExecutionContext.inserted_primary_key_rows<77>s<00><00>
<14>,<2C>,<2C>.<2E>.r<>c<01><><00>tt|j<00>j}|j <00>}|||j
d<00>gS)Nr)rr-r<00>+_inserted_primary_key_from_lastrowid_getterr<72>r<>)r<><00>getterr<72>s r<>rz4DefaultExecutionContext._setup_ins_pk_from_lastrowid<69>sI<00><00><15> <17><14><1D><1D>
2025-02-23 09:07:52 +08:00
<EFBFBD>
5<EFBFBD>
2025-08-29 00:34:40 +08:00
5<EFBFBD> <0F><19>&<26>&<26>(<28> <09><16>y<EFBFBD>$<24>":<3A>":<3A>1<EFBFBD>"=<3D>><3E>?<3F>?r<>c<01><><00>tt|j<00>j}|jD<00>cgc] }|d|<02><00><02> c}Scc}wr<>)rr-rr*r<>)r<>r+rs r<>r(z0DefaultExecutionContext._setup_ins_pk_from_empty<74>sG<00><00><15> <17><14><1D><1D>
2025-02-23 09:07:52 +08:00
<EFBFBD>
5<EFBFBD>
2025-08-29 00:34:40 +08:00
5<EFBFBD> <0F>26<32>1I<31>1I<31>J<>1I<31><05><06>t<EFBFBD>U<EFBFBD>#<23>1I<31>J<>J<><4A>Js<00>Ac<01><><00>|sgStt|j<00>j}|j}t ||<04>D<00><05>cgc]\}}|||<06><00><02>c}}Scc}}wr<>)rr-r<00>+_inserted_primary_key_from_returning_getterr<72>r<>)r<>r<>r<>r+r<>r<>rs r<>r"z=DefaultExecutionContext._setup_ins_pk_from_implicit_returningsi<00><00><13><15>I<EFBFBD><15> <17><14><1D><1D>
2025-02-23 09:07:52 +08:00
<EFBFBD>
5<EFBFBD>
5<EFBFBD> <0F><1F>2<>2<><0F>25<32>T<EFBFBD>?<3F>1K<31>
<EFBFBD>1K<EFBFBD>:<3A>3<EFBFBD><05>F<EFBFBD>3<EFBFBD><05> <1E>1K<31>
<EFBFBD>
<EFBFBD><EFBFBD>
s<00>Ac<01><><00>|jxs |jxr-ttt|j
2025-08-29 00:34:40 +08:00
<00>j <00>Sr<>)r}r~rhrr-rr<>r<>s r<><00>lastrow_has_defaultsz,DefaultExecutionContext.lastrow_has_defaultss7<00><00><14> <0A> <0A>.<2E><14><1D><1D>
2025-02-23 09:07:52 +08:00
<EFBFBD>D<EFBFBD> <10><1B>d<EFBFBD>m<EFBFBD>m<EFBFBD> ,<2C> 6<> 6<>5
<EFBFBD>
2025-08-29 00:34:40 +08:00
r<EFBFBD>c<01><><00><06> <09>
2025-02-23 09:07:52 +08:00
<EFBFBD> <0B> <0C>|js |jrytt|j<00>}|j <00>}|<02>y|j }|jrHt|<02>}|jj||j|j|j|<00>|jr |j<00> nd<01> |jr-|j xsdD<00>cgc]}||j"|f<02><02>}}n.|j$j'<00>D<00><06>cgc] \}}||f<02><02> }}}g}|D<00>]\}<04><06>|j(vr<01>||j*vr<>t-<00>j.<00>rXt1<00>j.j2<00><00> |<02><00>
|j5<00><06>
<EFBFBD> <0B> fd<03>t7|j*|<00>D<00><00><00><>|j9<00>d<01><00> |j5<00><06> <09> fd<04>|j*|D<00><00><00><>|j9<00>d<01><00> <09> <0B><12> j9||<04>n|}|j;|<08> <09>j.f<03><00><01>|Scc}wcc}}w)a<>Given a cursor and ClauseParameters, prepare arguments
in order to call the appropriate
style of ``setinputsizes()`` on the cursor, using DB-API types
from the bind parameter's ``TypeEngine`` objects.
This method only called by those dialects which set the
:attr:`.Dialect.bind_typing` attribute to
:attr:`.BindTyping.SETINPUTSIZES`. Python-oracledb and cx_Oracle are
the only DBAPIs that requires setinputsizes(); pyodbc offers it as an
option.
Prior to SQLAlchemy 2.0, the setinputsizes() approach was also used
for pg8000 and asyncpg, which has been changed to inline rendering
of casts.
2025-08-29 00:34:40 +08:00
Nr<4E>c3<01><><00>K<00>|]@\}}<02><05><12>j||<02>n|<02>|<01>z<00>jj|<01>zf<03><01><00>By<00>wr<>)r<>r<><00>types)rr<00> paramnamer<00>dbtypesr<73><00>nums <20><><EFBFBD><EFBFBD>r<EFBFBD>rzCDefaultExecutionContext._prepare_set_input_sizes.<locals>.<genexpr>Ts`<00><><00><><00> .<16>/<1A>N<EFBFBD>C<EFBFBD><19> $6<>#A<>!3<> 6<> 6<>y<EFBFBD>)<29> L<>%.<2E>#<23>C<EFBFBD>#<23>I<EFBFBD>.<2E>%<25>N<EFBFBD>N<EFBFBD>0<>0<><13>s<EFBFBD><19>;<3B><1A>/<1A>s<00>AA c3<01>d<00>K<00>|]'}<01><04><12>j||<01>n|<01><03>jf<03><01><00>)y<00>wr<>)r<>r<>)rr4r<00>dbtyper<65>s <20><><EFBFBD>r<EFBFBD>rzCDefaultExecutionContext._prepare_set_input_sizes.<locals>.<genexpr>dsF<00><><00><><00> .<16>*H<01>I<EFBFBD> $6<>#A<>!3<> 6<> 6<>y<EFBFBD>)<29> L<>%.<2E>"<22>%<25>N<EFBFBD>N<EFBFBD><1A>*H<01>s<00>-0)rmr<>rr-r<00>_get_set_input_sizes_lookuprTr_r<><00>dispatch<63>do_setinputsizesrr<>r<>r<>r<>r<><00>bindsrr0r<>rdr)r<>rr3r<>r<>r<>r6) r<>r<00>
inputsizesrTrzr0r<00>generic_inputsizes<65> escaped_namer8r5r<>r6s ` @@@@r<><00>_prepare_set_input_sizesz0DefaultExecutionContext._prepare_set_input_sizessU<00><><00>& <10>:<3A>:<3A><14><1C><1C><17><17> <0B>T<EFBFBD>]<5D>]<5D>3<><08><1D>9<>9<>;<3B>
2025-02-23 09:07:52 +08:00
<EFBFBD> <15> <1D><17><16>,<2C>,<2C><07> <13> <1E> <1E><1D>j<EFBFBD>)<29>J<EFBFBD> <13> <1C> <1C> -<2D> -<2D><1A>D<EFBFBD>K<EFBFBD>K<EFBFBD><14><1E><1E><14><1F><1F>$<24> <0E> <14> &<26> &<26>!)<29>!<<3C>!<<3C> <1E>!%<25> <1E> <12> <1D> <1D>$<24>/<2F>/<2F>5<>2<EFBFBD>5<><0E>5<>C<EFBFBD><15>h<EFBFBD>n<EFBFBD>n<EFBFBD>S<EFBFBD>)<29>*<2A>5<> <12><0E>'/<2F>&9<>&9<>&?<3F>&?<3F>&A<><0E>&A<>N<EFBFBD>I<EFBFBD>s<EFBFBD><15>i<EFBFBD> <20>&A<> <12><0E>
FH<01><1A>#<23>N<EFBFBD>C<EFBFBD><19><18>H<EFBFBD>;<3B>;<3B>;<3B><18><12>d<EFBFBD>/<2F>/<2F>/<2F> <20><19><1E><1E>0<><1D>i<EFBFBD>n<EFBFBD>n<EFBFBD>2<>2<>3<>C<EFBFBD>(<28><19>3<>G<EFBFBD>&<26>-<2D>-<2D> .<16>/8<> <20>5<>5<>c<EFBFBD>:<3A>/<1A> .<16> <16>(<28>^<5E>^<5E>I<EFBFBD>t<EFBFBD><<3C>F<EFBFBD>&<26>-<2D>-<2D> .<16>*.<2E>)B<>)B<>3<EFBFBD>)G<> .<16> <16>$<24><1E><1E> <09>4<EFBFBD>8<><06>*<2A>5<>'<27>*<2A>*<2A>3<EFBFBD><03>4<><1C><1D> #<23>)<29>)<29>!<21>6<EFBFBD>9<EFBFBD>><3E>><3E>:<3A><12>[$<24>b"<22>!<21><>y<0E><>
s <00>%I
<04>Ic<01><><00>|jr|j||<03>S|jr||_|j |<00>S|j
2025-08-29 00:34:40 +08:00
r|j |||<03>S|jSr<>)<07> is_sequence<63> fire_sequence<63> is_callable<6C>current_columnr<6E><00>is_clause_element<6E>_exec_default_clause_element)r<><00>columnr`r<>s r<><00> _exec_defaultz%DefaultExecutionContext._exec_defaultsj<00><00> <12> <1E> <1E><17>%<25>%<25>g<EFBFBD>u<EFBFBD>5<> 5<> <14> <20> <20>#)<29>D<EFBFBD> <1F><1A>;<3B>;<3B>t<EFBFBD>$<24> $<24> <14> &<26> &<26><17>4<>4<>V<EFBFBD>W<EFBFBD>e<EFBFBD>L<> L<><1B>;<3B>;<3B> r<>c <01>T<00>|js!tj|j|<03>}n |j}tj|<04>j |j <00><01>}|j<00>}|j}|jrM|j j|jxsdD<00>cgc]}||vr||||<00>n||<00><02>c}<08>} n%|D<00>cic]}|||vr||||<00>n||<00><02>} }|jt|<05>|| <09><03>Scc}wcc}w)NrSr<>)r<>)<0E> _arg_is_typedr'<00> type_coercer<65>rVrWrTr<>r<>r<>r)r<>r<>rU)
r<EFBFBD>rHr`r<><00> default_argrr<>r<>rzr<>s
r<>rGz4DefaultExecutionContext._exec_default_clause_element<6E>sY<00><00><17>$<24>$<24>$<24>0<>0<><17><1B><1B>e<EFBFBD>D<>K<EFBFBD>!<21>+<2B>+<2B>K<EFBFBD><1D>$<24>$<24>[<5B>1<>9<>9<>$<24>,<2C>,<2C>9<>O<><08>"<22>3<>3<>5<><0F><1D>.<2E>.<2E>
2025-02-23 09:07:52 +08:00
<EFBFBD> <13> <1E> <1E><1D><1C><1C>=<3D>=<3D> (<28>3<>3<>9<>r<EFBFBD>9<> <12> :<3A><03><1F>*<2A>,<2C>(<28>
<EFBFBD>3<EFBFBD><0F><0F><03>(<<3C>=<3D>,<2C>S<EFBFBD>1<>2<> :<3A> <12> <0E>J<EFBFBD>"+<2B> <0E> +<2B>C<EFBFBD> <14><1A>j<EFBFBD>(<28>$<24>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>C<EFBFBD>$8<>9<>(<28><13>-<2D>.<2E>
+<2B> <17><0E><14>#<23>#<23> <0F><08>M<EFBFBD>5<EFBFBD>Z<EFBFBD>$<24>
<EFBFBD>
<EFBFBD><EFBFBD>%<12><>s <00>8D <08>"D%z"Optional[_CoreSingleExecuteParams]<5D>current_parametersc<01><><00><06><07> |j<00>|j}|<02>J<00><01><07>J<00>t dt t |j<00>j<00>}|<03>J<00>|r<>tj|<03>r<>|jr<>|jr5|jdz<00>|jj<00>|ji}n|j<00>|ji}d<04>|j <00>J<00>|j j#<00>}|j%<00><06>fd<05>|D<00><00>|S<00>S#t$rtjd<01><00>wxYw)aiReturn a dictionary of parameters applied to the current row.
This method can only be used in the context of a user-defined default
generation function, e.g. as described at
:ref:`context_default_functions`. When invoked, a dictionary is
returned which includes entries for each column/value pair that is part
of the INSERT or UPDATE statement. The keys of the dictionary will be
the key value of each :class:`_schema.Column`,
which is usually synonymous
with the name.
:param isolate_multiinsert_groups=True: indicates that multi-valued
INSERT constructs created using :meth:`_expression.Insert.values`
should be
handled by returning only the subset of parameters that are local
to the current column default invocation. When ``False``, the
raw parameters of the statement are returned including the
naming convention used in the case of multi-valued INSERT.
.. versionadded:: 1.2 added
:meth:`.DefaultExecutionContext.get_current_parameters`
which provides more functionality over the existing
:attr:`.DefaultExecutionContext.current_parameters`
attribute.
.. seealso::
:attr:`.DefaultExecutionContext.current_parameters`
:ref:`context_default_functions`
2025-08-29 00:34:40 +08:00
zdget_current_parameters() can only be invoked in the context of a Python side column default functionrIrrc3<01>6<00>K<00>|]}|<01>d|<01>fzf<02><01><00>y<01>w)z%s_m%dNr<4E>)rrz<00>indexr<78>s <20><>r<EFBFBD>rzADefaultExecutionContext.get_current_parameters.<locals>.<genexpr> s(<00><><00><><00><0E>FJ<46>s<EFBFBD><13>j<EFBFBD><18>S<EFBFBD>%<25>L<EFBFBD>!8<>9<>:<3A>d<EFBFBD>s<00>)rNrE<00>AttributeErrorr"r<>rr-rr<>r&r}<00>_has_multi_parameters<72>_is_multiparam_columnrQ<00>originalrz<00>_dict_parameters<72>keysr)r<><00>isolate_multiinsert_groupsrHr<><00>drWrQr<>s @@r<><00>get_current_parametersz.DefaultExecutionContext.get_current_parameters<72>sE<00><><00>B
2025-02-23 09:07:52 +08:00
*<2A><1D>0<>0<>J<EFBFBD><19>(<28>(<28>F<EFBFBD><1A>%<25> %<25>%<25><1D>)<29> )<29>)<29><1C> <16><04>[<5B>$<24>-<2D>-<2D>8<>F<>F<>
2025-08-29 00:34:40 +08:00
<EFBFBD> <0A><1D>(<28>(<28>(<28> &<26><13> <0C> <0C>]<5D>+<2B><1D>3<>3<><15>+<2B>+<2B><1E> <0C> <0C>q<EFBFBD>(<28><05><1B>_<EFBFBD>_<EFBFBD>(<28>(<28>*<2A>V<EFBFBD>Z<EFBFBD>Z<EFBFBD>*@<40>A<><01><1B>Z<EFBFBD>Z<EFBFBD><1A>F<EFBFBD>J<EFBFBD>J<EFBFBD>!7<>8<><01><19><05> <20>1<>1<>=<3D> =<3D>=<3D> <20>1<>1<>6<>6<>8<>D<EFBFBD> <0A>H<EFBFBD>H<EFBFBD><0E>FJ<46><0E> <0E><15>H<EFBFBD><1D> <1D><>=<1E> <0E><15>)<29>)<29>C<01><0E> <0E> <0E>s <00>D<00>D=c<01>j<00>|j<00>y|j||j|j<00>Sr<>)r`rIr<><00>r<>rHs r<><00>get_insert_defaultz*DefaultExecutionContext.get_insert_default s,<00><00> <11>><3E>><3E> !<21><17><17>%<25>%<25>f<EFBFBD>f<EFBFBD>n<EFBFBD>n<EFBFBD>f<EFBFBD>k<EFBFBD>k<EFBFBD>J<> Jr<4A>c<01>j<00>|j<00>y|j||j|j<00>Sr<>)<03>onupdaterIr<>r\s r<><00>get_update_defaultz*DefaultExecutionContext.get_update_default s,<00><00> <11>?<3F>?<3F> "<22><17><17>%<25>%<25>f<EFBFBD>f<EFBFBD>o<EFBFBD>o<EFBFBD>v<EFBFBD>{<7B>{<7B>K<> Kr<4B>c<01>F<00>tt|j<00>}|j}d}|jr8|jD<00>cgc]"}|||<04>|j
2025-02-23 09:07:52 +08:00
|j f<04><02>$}}nF|jr8|jD<00>cgc]"}|||<04>|j|jf<04><02>$}}ng}|jD]T}||_ |D]F\}}\}} }
} } | r |||<|dz }<03>| r|||<<00>"|
2025-08-29 00:34:40 +08:00
r||_ ||<00>||<<00>7| |<04>} | <0A><01>B| ||<<00>H<00>V|` ycc}wcc}w)Nrr) rr-r<00>_within_exec_param_key_getterr<72><00>_default_description_tupler]r<><00>_onupdate_description_tupler`r<>rNrE)r<>r<00>
key_getter<EFBFBD>sentinel_counter<65>c<> prefetch_recsr<00> param_keyr<79><00> is_scalarrD<00> is_sentinel<65>fallbackr|s r<>r<>z1DefaultExecutionContext._process_execute_defaults sv<00><00><17> <0B>T<EFBFBD>]<5D>]<5D>3<><08><1D>;<3B>;<3B>
<EFBFBD><1C><18> <13> #<23> #<23>"<22>1<>1<><0E>2<>A<EFBFBD> <16><1E>q<EFBFBD>M<EFBFBD><15>0<>0<><18>+<2B>+<2B> <12> 2<> <1A><0E><16> %<25> %<25>"<22>1<>1<><0E>2<>A<EFBFBD> <16><1E>q<EFBFBD>M<EFBFBD><15>1<>1<><18>+<2B>+<2B> <12> 2<> <1A><0E><1F>M<EFBFBD><19>-<2D>-<2D>E<EFBFBD>&+<2B>D<EFBFBD> #<23><1F> <0E><11><19>:<3A><13>i<EFBFBD><1B>k<EFBFBD><18><1E>'7<>E<EFBFBD>)<29>$<24>$<24><01>)<29>$<24><1E>'*<2A>E<EFBFBD>)<29>$<24> <20>*+<2B>D<EFBFBD>'<27>'*<2A>4<EFBFBD>y<EFBFBD>E<EFBFBD>)<29>$<24>"<22>1<EFBFBD>+<2B>C<EFBFBD><1A><EFBFBD>+.<2E><05>i<EFBFBD>(<28><1F>.<2E>, <11> #<23><>Y<0E><>s <00>'D<04>'D) rTrr<>rr<>rDr<>r9rqr+rr)rTrr<>rr<>rDr<>r9rr-r<>r4rarErirhrwrrr)rTrr<>rr<>rDr<>r9r<>rUr<>r7rr)
rTrr<>rr<>rDr<>r9rr)rrU)rzOptional[Sequence[Column[Any]]]r<>)r<>rUr<>zOptional[TypeEngine[Any]]r<>z#Optional[_DBAPISingleExecuteParams]rr)rr)rrl)rz0Optional[List[Tuple[str, Any, TypeEngine[Any]]]])T)Xrr<>rr}r~rr<>r<>rmr<00>EXECUTEr^r'rr_r`r$<00>
EMPTY_DICTr<EFBFBD>r<>r<>r<>rar<>r<>r<>r<>rrbrcr$rdr<>rwrrpr<>rjrWrsrr<>r<>r<>r<>r<>rRr<>rTr<>r&r<>r<>r<>r<>r<>r<>ror<>r<>r<>r<>r<>r<>r<>r<>r<><00>non_memoized_propertyr<79>r<>r<>rBr rr<>rrr(r"r0r@rIrGrNrZr]r`r<>r<>r<>r<>r~r~<00>s<><00><00><14>H<EFBFBD><14>H<EFBFBD><14>H<EFBFBD><13>G<EFBFBD><13>G<EFBFBD> <11>E<EFBFBD>".<2E>"6<>"6<>M<EFBFBD><<3C>6<>#'<27>H<EFBFBD> <20>'<27> <0A><19><06> <0A>;?<3F><19>7<>><3E>)-<2D><1F><1F><15><EFBFBD>8<>#<23>2<>2<><19>.2<EFBFBD><15>+<2B>2<>"<22><1A>"<22><1A>!&<26><1E><1B>O<EFBFBD><18>L<EFBFBD>#<23>I<EFBFBD>}<7D>#<23>
2025-02-23 09:07:52 +08:00
:><3E><16>6<>=<3D>4F<34>D<EFBFBD>4F<34>4F<34>4H<34><18>1<>H<><08> <1D>I<EFBFBD><1F><1F>,<2C>,<2C> <14><14><1A><1A> <17><17>><3E>><3E>(<28>(<28>@<40>@<40><1D>1<>4<EFBFBD>?<3F>?<3F>C<><16>>B<><1A>;<3B>B<><1F><16><03><1F><10>*<14><18>*<14><1F>*<14>0<> *<14>
+<2B> *<14> "<22> *<14>
<1A>*<14><11>*<14>X<11>!+<2B> ;<3B> ;<3B>c<14><18>c<14><1F>c<14>0<> c<14>
+<2B> c<14> <1E> c<14>,<2C>c<14>&<26>c<14>E<01>c<14><1E>c<14>
<1A>c<14><11>c<14>J<11>'<14><18>'<14><1F>'<14>0<> '<14>
+<2B> '<14> <17> '<14>-<2D>'<14>
<1A>'<14><11>'<14>R<11><14><18><14><1F><14>0<> <14>
+<2B> <14>
<1A> <14><11><14>& <1D>D<0E>
<EFBFBD><0E>
<EFBFBD> 
<EFBFBD><1B><1B>4<><1C>4<>
<EFBFBD><1B><1B>+<2B><1C>+<2B>
<EFBFBD><1B><1B>'<27><1C>'<27>

<EFBFBD><1B><1B><16><1C><16>
2025-08-29 00:34:40 +08:00
<EFBFBD><1B><1B>B<01><1C>B<01>;?<3F> ,<11><11>,<11>)<29>,<11>8<> ,<11>
<0A> ,<11>\
<EFBFBD><1B><1B>$<24><1C>$<24><1F>:0<>$!<21>/<2F>$<24> <0A>
2025-02-23 09:07:52 +08:00
<EFBFBD>
 <0A>E<01>%<25>& <0A>
2025-08-29 00:34:40 +08:00
<EFBFBD><1F><1F>(<28> <20>(<28> <0E>*<2A><0E>*<2A>3<>9<>)<16>V/<2F>8p<16>d
2025-02-23 09:07:52 +08:00
<EFBFBD><1B><1B>/<2F><1C>/<2F> @<01>K<01> 
<EFBFBD>
<EFBFBD>
i"<22> 9<>i"<22>V <1F>%
2025-08-29 00:34:40 +08:00
<EFBFBD>N>B<01><16>:<3A>A<><08>0B<1E>HK<01> L<01> 4$r<>r~)sr<00>
__future__rr7r<>rj<00>re<72>timer<00>typingrrrrr r
r r r rrrrrrr<><00>rrr<>r<00>baserrrrrr<00>
reflectionrrr!r"r#r$<00>sqlr%r&r'r(r<><00> sql._typingr)<00>sql.baser*<00> sql.compilerr+r,r-<00> sql.elementsr.<00> util.typingr/r0r3r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r<>r@r<>rArBrCrDrErFrGrH<00>sql.dmlrIrJrK<00>
sql.schemarL<00> sql.type_apirMrNrOrW<00>I<>UNICODEr<45>r<>r<>r<>r<>r<>r<>rQrZr~<00>execution_ctx_clsr<73>r<>r<><00><module>r<>s<><00><01><04>#<23><10><0F> <0A> <09><1D> <0A><16><1B><17><17><17><1A>!<21>"<22><1B><1B><16><18><17> <20><18><0E><1D><1F><18><1C>"<22>#<23><1F>$<24>(<28>"<22>#<23><14><12><13><13><1A><15><1C><1A>"<22>'<27><1D>&<26>7<>&<26>&<26><1F>!<21> <09><17><17> <20><1C>+<2B>3<>4<>3<>4<>5<>+<2B>;<3B>'<27>+<2B>+<2B>'<27>*<2A><18><18>'<27><1B>,<2C> <20>'<27>&<26>1<>"<22>$<24>,<2C>#<23>1<>3<>)<29>#<23><02>
2025-02-23 09:07:52 +08:00
<EFBFBD>
<EFBFBD><<3C><12><14><14><02>
<EFBFBD>
2025-08-29 00:34:40 +08:00
<EFBFBD>1B<EFBFBD>C<><15> <09><1A><14> <02> <0A><0E><14><10><16>d
<EFBFBD>W<EFBFBD>d
<EFBFBD>N!*<2A><0E>*<2A>0\$<24>.<2E>\$<24>~$$;<3B><0E> r<>