Files
aitsc/.venv/Lib/site-packages/sqlalchemy/sql/__pycache__/crud.cpython-312.pyc

315 lines
47 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<0F><00><01>,<00>dZddlmZddlZddlZddlmZddlmZddlmZddlm Z ddlm
2025-02-23 09:07:52 +08:00
Z
dd lm Z dd
lm Z dd lm Z dd lmZdd lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddl"m#Z#ddl"m$Z$dd lm%Z%dd!lm&Z&dd"l'm(Z(er6dd#l)m*Z*dd$l)m+Z+dd%lm,Z,dd&lm-Z-dd'lm.Z.dd(lm/Z/dd)lm0Z0dd*lm1Z1dd+lm2Z2e&jfd,d-<2D>Z4dRd0<64>Z5ed.e6eee6d1fe
e6fZ7ed2e6e6e
e6fZ8ed/e6d1e
2025-08-29 00:34:40 +08:00
e6fZ9e e7Z:Gd3<64>d4e <0A>Z; dSd5<64>Z<e dT dUd6<64><05>Z=e dVd7<64><04>Z= dW dXd8<64>Z=d9<64>Z> dYd:<3A>Z?d;<3B>Z@d<<3C>ZAd=<3D>ZBd><3E>ZCd?<3F>ZDd@<40>ZEdA<64>ZF dZdB<64>ZGdC<64>ZHe d[ d\dD<64><05>ZIe d]dE<64><04>ZI d^ d_dF<64>ZIe d[ d\dG<64><05>ZJe d]dH<64><04>ZJ d^ d_dI<64>ZJGdJ<64>dKej^e<00>ZK d`dL<64>ZLdM<64>ZM dadN<64>ZNdO<64>ZOdP<64>ZPdQ<64>ZQy)bziFunctions used by compiler.py to determine the parameters rendered
2025-02-23 09:07:52 +08:00
within INSERT and UPDATE statements.
<EFBFBD>)<01> annotationsN)<01>Any)<01>Callable)<01>cast)<01>Dict)<01>Iterable)<01>List)<01>MutableMapping)<01>
NamedTuple)<01>Optional)<01>overload)<01>Sequence)<01>Set)<01>Tuple)<01> TYPE_CHECKING)<01>Union<6F>)<01> coercions)<01>dml)<01>elements)<01>roles)<01>_DefaultDescriptionTuple)<01>isinsert)<01> ColumnClause)<01>default_is_clause_element)<01>default_is_sequence)<01>Select)<01> TableClause<73>)<01>exc)<01>util)<01>Literal)<01>_BindNameForColProtocol)<01> SQLCompiler)<01>_DMLColumnElement)<01>DMLState)<01>
ValuesBase)<01> ColumnElement)<01>KeyedColumnElement)<01>_SQLExprDefault)<01>Column<6D>REQUIREDa8
Placeholder for the value within a :class:`.BindParameter`
which is required to be present when the statement is passed
to :meth:`_engine.Connection.execute`.
This symbol is typically used when a :func:`_expression.insert`
or :func:`_expression.update` statement is compiled without parameter
values present.
<EFBFBD>ColumnElement[Any]<5D>ColumnClause[Any]c<01>V<00>t|t<00>stjd|<00><02><02><00>|S)Nz5Can't create DML statement against column expression )<04>
2025-08-29 00:34:40 +08:00
isinstancerr <00> CompileError)<01>cs <20>@D:\pythonpj\aitsc\.venv\Lib\site-packages\sqlalchemy/sql/crud.py<70>_as_dml_columnr4Js0<00><00> <15>a<EFBFBD><1C> &<26><11><1E><1E>C<>A<EFBFBD>5<EFBFBD> I<>
2025-02-23 09:07:52 +08:00
<EFBFBD>
<EFBFBD> <0A>H<EFBFBD>r*<00>KeyedColumnElement[Any]c<01>L<00>eZdZUded<ded<dZded<dZded<d Zd
ed <y ) <0C> _CrudParams<6D>_CrudParamSequence<63> single_params<6D>$List[Sequence[_CrudParamElementStr]]<5D>all_multi_paramsF<73>bool<6F>is_default_metavalue_only<6C>use_insertmanyvaluesNzOptional[Sequence[Column[Any]]]<5D>use_sentinel_columns)<07>__name__<5F>
2025-08-29 00:34:40 +08:00
__module__<EFBFBD> __qualname__<5F>__annotations__r>r?r@<00>r5r3r8r8js0<00><00>%<25>%<25>:<3A>:<3A>&+<2B><1D>t<EFBFBD>+<2B>!&<26><18>$<24>&<26><@<40><18>9<>@r5r8c <01>J <00><19>g|_g|_g|_g|_|j dd<02>}|<05>|j dd<02>d|vsJd<04><00>t |||<02>\<00>}}||_|jr!|jrtjd<05><00>|jr!t|||d|<06>|dd||<04> tgg<00>S|j<00>{|j rot|j"j$D<00>cgc]E}|j&s7||j(j+|<08>t-||dd<07><08>|j.ff<04><02>Gc}g<00>St1|<02>rP|j2rD|j4} | <09>J<00>| d }
2025-02-23 09:07:52 +08:00
t7|
j9<00><00>} |
D<00> chc]
2025-08-29 00:34:40 +08:00
} <00>| <0C><00><02> } } n<>|j:r2|j<}
2025-02-23 09:07:52 +08:00
|j:} |
<EFBFBD>J<00>|
D<00> chc]
2025-08-29 00:34:40 +08:00
} <00>| <0C><00><02> } } nK|j<r;|j<}
2025-02-23 09:07:52 +08:00
t7|
j9<00><00>} |
D<00> chc]
2025-08-29 00:34:40 +08:00
} <00>| <0C><00><02> } } ndx} } |j<00>i}nS| r-| <0A>J<00>|jD<00> cic]} | | vr <00>| <0C>t><00><02>}} n$|jD<00> cic]} <00>| <0C>t><00><02>}} g}| <0B>tA|||| <0B>||<04>i}tCjD|<02>r|jFrtI|||| |||||<04> t1|<02>r4|jJr(|j2rJ<00>tM|||||<06>|||||<04> d
}d}ntO|||||<06>|||||<04> \}}|<0E>r\| <0B>rYtQ|<0E>jS<00>fd <0B>| D<00><00>jU|<10>}|<13>r$tCjD|<02>r<>tQd <0C>| D<00><00>jU|jVg<01>}|jU|jX<00>}|rZ|jFr |jZsB|jZsd }nd}tj|<16>ddj]d<11>|D<00><00><00>d<12><04><00>|r<|jZsJ<00>tjddj]d<14>|D<00><00><00><00><02><00>tjddj]d<16>|D<00><00>z<00><00>d
}t1|<02>rJ|j2r>|jJrJ<00>t_|||tad|<0F>tad<18><19>|<04>}t||<18>S|s<>|jbr<>|jdjfrmti|j"j$d <00>|j(j+|j"j$d <00>|jdjjdfg}d}t|g|||<12><19>Scc}wcc} wcc} wcc} wcc} wcc} w)aQcreate a set of tuples representing column/string pairs for use
2025-02-23 09:07:52 +08:00
in an INSERT or UPDATE statement.
Also generates the Compiled object's postfetch, prefetch, and
returning column collections, used for default handling and ultimately
populating the CursorResult's prefetch_cols() and postfetch_cols()
collections.
2025-08-29 00:34:40 +08:00
<20> visiting_cteN<65>accumulate_bind_namesz;Don't know how to handle insert within insert without a CTEzVCan't compile statement that includes returning() and return_defaults() simultaneouslyrET)<01>requiredrFc3<01>4<00>K<00>|]\}}<00>|<01><00><01><00>y<00>w<01>NrE)<04>.0<EFBFBD>k<>v<>_column_as_keys <20>r3<00> <genexpr>z#_get_crud_params.<locals>.<genexpr>Ks<00><><00><><00>N<>8M<38><04><01>1<EFBFBD>.<2E><11>+<2B>8M<38>s<00>c3<01>rK<00>|]/\}}t|t<00>r|j<00>|j<00><01><00>1y<00>wrK)r0r<00>table)rLr2rNs r3rPz#_get_crud_params.<locals>.<genexpr>Qs3<00><00><><00>'<12> 5<><04><01>1<EFBFBD>!<21>!<21>\<5C>2<>q<EFBFBD>w<EFBFBD>w<EFBFBD>7J<37><16>G<EFBFBD>G<EFBFBD> 5<>s<00>57z<Backend does not support additional tables in the SET clausez/Statement is not a multi-table UPDATE statementz'; cannot include columns from table(s) <20>, c3<01><K<00>|]}d|j<00>d<00><03><01><00>y<01>w<01><02>'N<><01> description<6F>rL<00>ts r3rPz#_get_crud_params.<locals>.<genexpr>ls&<00><00><><00>&A<01>/?<3F>!<21>)*<2A>!<21>-<2D>-<2D><1F><01>&:<3A>/?<3F><><00>z in SET clausez7Multi-table UPDATE statement does not include table(s) c3<01><K<00>|]}d|j<00>d<00><03><01><00>y<01>wrUrWrYs r3rPz#_get_crud_params.<locals>.<genexpr>ws%<00><00><><00>&8<>%6<><01>#$<24>A<EFBFBD>M<EFBFBD>M<EFBFBD>?<3F>!<21> 4<>%6<>r[zUnconsumed column names: %sc3<01>"K<00>|]}|<01><01><01><00> y<00>wrKrE)rLr2s r3rPz#_get_crud_params.<locals>.<genexpr>s<00><00><><00>8<>%<25>Q<EFBFBD>Q<EFBFBD>[<5B>%<25>s<00> <01>Sequence[_CrudParamElementStr]<5D>Callable[..., str])r>r?r@)6<> postfetch<63>insert_prefetch<63>update_prefetch<63>implicit_returning<6E>get<65>pop<6F>_key_getters_for_crud_column<6D>_get_bind_name_for_col<6F>
_returning<EFBFBD>_return_defaultsr r1<00>isdelete<74>_setup_delete_return_defaultsr8<00> column_keys<79>_no_parametersrR<00>columns<6E>_omit_from_statements<74>preparer<65> format_column<6D>_create_bind_param<61>key<65>_compile_state_isinsert<72>_has_multi_parameters<72>_multi_parameters<72>list<73>items<6D>_ordered_values<65>_dict_parametersr,<00>!_get_stmt_parameter_tuples_paramsr<00>isupdate<74> is_multitable<6C>_get_update_multitable_params<6D> _select_names<65>_scan_insert_from_select_cols<6C>
2025-02-23 09:07:52 +08:00
_scan_cols<EFBFBD>set<65> intersection<6F>
2025-08-29 00:34:40 +08:00
difference<EFBFBD> dml_table<6C> _extra_froms<6D>'render_table_with_column_in_update_from<6F>join<69>_extend_values_for_multiparamsr<00>for_executemany<6E>dialect<63>supports_default_metavaluer4<00>default_metavalue_token)<1A>compiler<65>stmt<6D> compile_state<74>toplevel<65>kwrG<00>_getattr_col_key<65>_col_bind_namer2<00>mp<6D>spd<70>stmt_parameter_tuplesrs<00> spd_str_key<65>
parameters<EFBFBD>values<65> check_columnsr?r@<00>check<63>tables_mentioned<65>multi_not_in_from<6F>preambler><00>multi_extended_valuesrOs @r3<00>_get_crud_paramsr<73>rs<><00><><00>P<1C>H<EFBFBD><16>!<21>H<EFBFBD><1C>!<21>H<EFBFBD><1C>"$<24>H<EFBFBD><1F><15>6<EFBFBD>6<EFBFBD>.<2E>$<24>/<2F>L<EFBFBD><13><1F>
2025-02-23 09:07:52 +08:00
<0B><06><06>&<26><04>-<2D><1F>r<EFBFBD>)<29>E<01>D<>E<01>)<29> %<25>X<EFBFBD>t<EFBFBD>]<5D>C<> <06><16><18><16>'5<>H<EFBFBD>#<23> <0B><EFBFBD><EFBFBD>4<EFBFBD>0<>0<><11><1E><1E> /<2F>
<EFBFBD>
<EFBFBD>
<15><1D><1D>%<25> <14> <10> <19> <0E> <1C> <1A> <1A> <0E> <0E> <14> <0E>
<EFBFBD><1B>2<EFBFBD>r<EFBFBD>"<22>"<22><10><1B><1B>#<23> <0A>(D<>(D<><1A><1E><1A><1A>+<2B>+<2B> <0E>,<2C>A<EFBFBD><18>.<2E>.<2E> <16><1C>%<25>%<25>3<>3<>A<EFBFBD>6<>&<26>x<EFBFBD><11>D<EFBFBD>4<EFBFBD>H<><16>U<EFBFBD>U<EFBFBD>H<EFBFBD> <12> ,<2C> <0E> <0F> 
<EFBFBD>
2025-08-29 00:34:40 +08:00
<EFBFBD>( <20> <0A>.<2E> <19> /<2F> /<2F> <1A> ,<2C> ,<2C><02><11>~<7E><1D>~<7E><10><11>e<EFBFBD><03> $<24>S<EFBFBD>Y<EFBFBD>Y<EFBFBD>[<5B> 1<><1D>69<36>:<3A>c<EFBFBD>s<EFBFBD>~<7E>c<EFBFBD>*<2A>c<EFBFBD> <0B>:<3A> <16> &<26> &<26><1B>,<2C>,<2C><03> -<2D> =<3D> =<3D><1D><12><EFBFBD><1E><EFBFBD>69<36>:<3A>c<EFBFBD>s<EFBFBD>~<7E>c<EFBFBD>*<2A>c<EFBFBD> <0B>:<3A> <16> '<27> '<27><1B>,<2C>,<2C><03> $<24>S<EFBFBD>Y<EFBFBD>Y<EFBFBD>[<5B> 1<><1D>69<36>:<3A>c<EFBFBD>s<EFBFBD>~<7E>c<EFBFBD>*<2A>c<EFBFBD> <0B>:<3A>.2<EFBFBD>2<><1D> <0B><10><1B><1B>#<23><17>
2025-02-23 09:07:52 +08:00
<EFBFBD> <1E><1A>&<26>&<26>&<26> <20>+<2B>+<2B>
<EFBFBD>+<2B><03><12>+<2B>%<25> <1B>3<EFBFBD> <1F><18> )<29>+<2B> <13>
<EFBFBD>6><3E>5I<35>5I<35>
<EFBFBD>5I<EFBFBD>c<EFBFBD>N<EFBFBD>3<EFBFBD> <1F><18> )<29>5I<35> <13>
<EFBFBD>
')<29>F<EFBFBD><1C>(<28>)<29> <14> <19> <16> !<21> <1A> <12> <0E>
<EFBFBD>35<33>M<EFBFBD> <0B>|<7C>|<7C>M<EFBFBD>"<22>}<7D>'B<>'B<>%<25> <14> <10> <19> !<21> <19> <1A> <1C> <12> <0E>
<EFBFBD><1F>}<7D>-<2D>$<24>2D<32>2D<32>!<21>6<>6<>6<>6<>%<25> <14> <10> <19> <16> <1C> <1A> <1A> <19> <12> <14> <0E>
<EFBFBD> %<25><1C>#<23><1C>5?<3F> <14> <10> <19> <16> <1C> <1A> <1A> <19> <12> <14> <0E> 6
2025-08-29 00:34:40 +08:00
<EFBFBD>2<><1C>2<><12>+<2B> <0F>
<EFBFBD>O<EFBFBD> <19>\<5C>N<>8M<38>N<> N<> <17>Z<EFBFBD> <0A> &<26> <0E>
<11><12>|<7C>|<7C>M<EFBFBD>*<2A>#&<26>'<12> 5<>'<12>$<12><1D>*<2A>m<EFBFBD>5<>5<>6<>7<> !<21> %5<>$?<3F>$?<3F>!<21>.<2E>.<2E>%<12>!<21>$<24>%<25>3<>3<>#<23>K<>K<>#<23>K<>K<>7<>!<21> N<01>!<21><1E>*<2A>*<2A>#<23>*<2A>%;<3B> <20>I<EFBFBD>I<EFBFBD>&A<01>/?<3F>&A<01>A<01>;<1A>(<28> +<2B><16><16>'<27>#<23>K<>K<>K<>K<><1D>*<2A>*<2A>$<24>!<21>I<EFBFBD>I<EFBFBD>&8<>%6<>&8<>8<><1A><1D><16><16><16>"<22>"<22>-<2D><17>9<EFBFBD>9<EFBFBD>8<>%<25>8<>8<>:<3A><0E> <0E>
2025-02-23 09:07:52 +08:00
!&<26><1D> <20> <0A>.<2E> <19> /<2F> /<2F><18>%<25>%<25>%<25>%<25> ><3E> <14> <10> <19> <10>0<><16> <0E> <11>%<25>~<7E> 6<> <0E>
!
<EFBFBD><1D><1B>6<EFBFBD>#8<>9<>9<> <12> <14> $<24> $<24> <14> <1C> <1C> 7<> 7<><1F>t<EFBFBD>z<EFBFBD>z<EFBFBD>1<>1<>!<21>4<>5<><18>!<21>!<21>/<2F>/<2F><04>
<EFBFBD>
<EFBFBD>0B<EFBFBD>0B<EFBFBD>1<EFBFBD>0E<EFBFBD>F<><18> <20> <20>8<>8<><12>  <0E>
<EFBFBD><06>%)<29>!<21> <16><0E>
2025-08-29 00:34:40 +08:00
<EFBFBD>";<3B>1<>1<>  <06><06><>u <0E><>4;<3B><>
2025-02-23 09:07:52 +08:00
;<3B><>;<3B><>
<EFBFBD><EFBFBD> 
s%<00>6A
2025-08-29 00:34:40 +08:00
V<08>V <04>V<04>V<04>V<04>8V c <01><00>yrKrE)r<><00>col<6F>value<75>processrI<00>name<6D>force_anonymousr<73>s r3rrrr<00>s<00><00> r5c <01><00>yrKrE)r<>r<>r<>r<>s r3rrrr<00><00><00><00> r5c <01><><00>|rd}n|<05> |j}tj|||j|<04><01>}d|_|r|j
|fi|<07><01>S|S)N)<02>type_rIT)rsr<00> BindParameter<65>type<70>_is_crud<75>_compiler_dispatch) r<>r<>r<>r<>rIr<>r<>r<><00> bindparams r3rrrr<00>sb<00><00><17><13><04> <0A><1C><12>w<EFBFBD>w<EFBFBD><04><18>&<26>&<26> <0C>e<EFBFBD>3<EFBFBD>8<EFBFBD>8<EFBFBD>h<EFBFBD><06>I<EFBFBD><1E>I<EFBFBD><16><0E>+<2B>y<EFBFBD>+<2B>+<2B>H<EFBFBD>;<3B><02>;<3B>;<3B><18>r5c <01>,<00>d|v}|sK|jr?t|jtj<00>r||j
d|jf<|j jr|j|j <00>}|j|fi|<04><01>S)NrGr<>)
<EFBFBD>uniquer0rsr<00>_truncated_label<65>truncated_namesr<73><00>_isnull<6C>_with_binary_element_typer<65>)r<>r<>r<>r<>r<><00>is_ctes r3<00>_handle_values_anonymous_paramr<6D><00>s<><00><00>(<1C>r<EFBFBD> !<21>F<EFBFBD> <13> <11>L<EFBFBD>L<EFBFBD> <16>u<EFBFBD>y<EFBFBD>y<EFBFBD>(<28>";<3B>";<3B> <<3C>=A<><08> <20> <20>+<2B>u<EFBFBD>y<EFBFBD>y<EFBFBD>!9<>:<3A> <0C>z<EFBFBD>z<EFBFBD><19><19><16>/<2F>/<2F><03><08><08>9<><05> #<23>5<EFBFBD> #<23> #<23>H<EFBFBD> 3<><02> 3<>3r5c<01><><00><06><07>tj|<02>ro|jrct|j<00><00>t j
2025-02-23 09:07:52 +08:00
t jtj<00><00> d<05><06>fd<02> } d<06>fd<03> }d<07>fd<04> }nIt j
2025-08-29 00:34:40 +08:00
t jtj<00>}tjd<01>x}}|||fS)Nrsc<01>|<00><02><00>|<00>}t|d<01>r&|j<00>vr|jj|fS|S)NrR)<03>hasattrrRr<>)rs<00>str_key<65>_et<65>
c_key_roles <20><>r3rOz4_key_getters_for_crud_column.<locals>._column_as_keys;<00><><00>!<21><13>o<EFBFBD>G<EFBFBD><16>s<EFBFBD>G<EFBFBD>$<24><13><19><19>c<EFBFBD>)9<><1B> <09> <09><0E><0E><07>0<>0<><1E>r5c<01>|<00><01>|j<00>vr"|jj|jfS|jSrK)rRr<>rs<00>r<>r<>s <20>r3r<>z6_key_getters_for_crud_column.<locals>._getattr_col_key$s1<00><><00><13>y<EFBFBD>y<EFBFBD>C<EFBFBD><1F><1B> <09> <09><0E><0E><03><07><07>0<>0<><1A>w<EFBFBD>w<EFBFBD>r5c<01><><00><01>|j<00>vrGtrt|jt<00>sJ<00>|jj<00>d|j
2025-02-23 09:07:52 +08:00
<00><01>S|j
2025-08-29 00:34:40 +08:00
S)N<>_)rRrr0rr<>rsr<>s <20>r3r<>z4_key_getters_for_crud_column.<locals>._col_bind_name,sF<00><><00><12>y<EFBFBD>y<EFBFBD>C<EFBFBD><1F> <20>%<25>c<EFBFBD>i<EFBFBD>i<EFBFBD><1B>=<3D>=<3D>=<3D>"%<25>)<29>)<29>.<2E>.<2E>#<23>'<27>'<27>:<3A>:<3A><1A>w<EFBFBD>w<EFBFBD>r5)rszUnion[ColumnClause[Any], str]<5D>return<72>Union[str, Tuple[str, str]])r<>r.r<>r<>)r<>r.r<><00>str) rr|r<>r<><00> functools<6C>partialr<00> expect_as_keyr<00> DMLColumnRole<6C>operator<6F>
attrgetter)r<>r<>r<>rOr<>r<>r<>r<>s @@r3rfrfs<><00><><00> <0B>|<7C>|<7C>M<EFBFBD>"<22>}<7D>'A<>'A<><12>-<2D>,<2C>,<2C>-<2D><03><1E>&<26>&<26> <15> #<23> #<23>U<EFBFBD>%8<>%8<>
2025-02-23 09:07:52 +08:00
<EFBFBD>
<EFBFBD> <1F>.<2E> <1F> (<28> <1F> <1F>"<22> <1F> (<28> <1F> <1F>#<23>*<2A>*<2A> <15> #<23> #<23>U<EFBFBD>%8<>%8<>
<EFBFBD><0E>-5<>,?<3F>,?<3F><05>,F<>F<><18>><3E> <19>+<2B>^<5E> ;<3B>;r5c <01><00>|jD<00> cgc]!} |jj|| <0B><00><02>#} } |jdd|usJ<00>|j|jdd<g} |j
r`t | <0C>}|jjD]<}||vs<01>|js<01>|jjr<01>,| j|<0F><00>>| D]a}||<10>}||vrD||vr@|j|<11>|j||jj|<10>ddf<04><00>St|||| |
<EFBFBD><00>c| r<>|j| <0A>|jdd}t!|t"<00>s/t%j&ddj)d<07>| D<00><00><00>d<08><03><00>|j+<00>}t-|j.<00>| D<00><13>cgc] \}}}}|<14><02> c}}z|_||jdd<yycc} wcc}}w) N<><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-08-29 00:34:40 +08:00
selectable<EFBFBD>insert_from_selectrEz_Can't extend statement for INSERT..FROM SELECT to include additional default-holding column(s) rSc3<01><K<00>|]\}}}}t|<02><00><01><00>y<00>wrK)<01>repr)rLr<>rss r3rPz0_scan_insert_from_select_cols.<locals>.<genexpr>us<00><00><><00>L<>O<EFBFBD>L<EFBFBD>A<EFBFBD>s<EFBFBD>A<EFBFBD>q<EFBFBD>d<EFBFBD>3<EFBFBD>i<EFBFBD>O<EFBFBD>r[z~. Convert the selectable to a subquery() first, or pass include_defaults=False to Insert.from_select() to skip these columns.)rrRr2<00>stack<63>select<63>#include_insert_from_select_defaultsr<73>rn<00>default<6C> is_sentinel<65>appendrerprq<00>&_append_param_insert_select_hasdefault<6C>extendr0rr r1r<><00> _generaterw<00> _raw_columns)r<>r<>r<>r<>r<>rOr<>r<>r<>r<>r<>r<><00>cols<6C>add_select_cols<6C>col_setr<74>r2<00>col_key<65>ins_from_selectr<74><00>exprs r3r<>r<>=s<00><00><@<01>;M<>;M<> N<>;M<>4<EFBFBD>D<EFBFBD>J<EFBFBD>J<EFBFBD>L<EFBFBD>L<EFBFBD><1E><04>-<2D> .<2E>;M<>D<EFBFBD> N<> <13>><3E>><3E>"<22> <1D>l<EFBFBD> +<2B>t<EFBFBD> 3<>3<> 3<>/3<>{<7B>{<7B>H<EFBFBD>N<EFBFBD>N<EFBFBD>2<EFBFBD><16>+<2B>,<2C>68<36>O<EFBFBD> <0B>/<2F>/<2F><15>d<EFBFBD>)<29><07><17>:<3A>:<3A>%<25>%<25>C<EFBFBD><14>7<EFBFBD>"<22><17>K<EFBFBD>K<EFBFBD><1B> <0B> <0B>/<2F>/<2F><14> <0B> <0B>C<EFBFBD> <20>&<26> <12><01>"<22>1<EFBFBD>%<25><07> <12>j<EFBFBD> <20>W<EFBFBD>M<EFBFBD>%A<> <16>N<EFBFBD>N<EFBFBD>7<EFBFBD> #<23> <12>M<EFBFBD>M<EFBFBD>1<EFBFBD>h<EFBFBD>/<2F>/<2F>=<3D>=<3D>a<EFBFBD>@<40>$<24><02>K<> L<> 2<><18>$<24><01>?<3F>B<EFBFBD> <0E> <12><17><0E> <0A> <0A>o<EFBFBD>&<26>"<22>.<2E>.<2E><12>,<2C>-A<>B<><0F><19>/<2F>6<EFBFBD>2<><15>"<22>"<22>8<><19>I<EFBFBD>I<EFBFBD>L<>O<EFBFBD>L<>L<><12><1B> <1B><0E> <0E>*<2A>3<>3<>5<><0F>'+<2B>O<EFBFBD>,H<>,H<>'I<>&5<>M
2025-02-23 09:07:52 +08:00
<EFBFBD>&5<>]<5D>Q<EFBFBD><01>4<EFBFBD><11>D<EFBFBD>o<EFBFBD>M
<EFBFBD>(
<EFBFBD><0F>$<24>4C<01><08><0E><0E>r<EFBFBD><1A>/<2F>0<>%<17><>G O<01><>dM
s <00>&G7<04>
G<c <01><><00><1C>t|||| <09>\} } } }}}|js|jsJ<00>|jr<>|jD<00>cgc]
}||<11><00><02> }}t |<12>}|D<00>cgc]C}t |t <00>r1||jjvr|jj|<00><02>Ec}|jjD<00>cgc]}|j|vs<01>|<14><02>c}z}n|jj}t|<02>}|r9|js-|jj}|jj}ndx}}|j rt |j <00>}n
t <00>}|j"}|D<00>]p}||<14>}||vr||vrt%|||||||| | |||||
<EFBFBD><00>n&|<16>r|j&r%| r#| rt)|||||
<EFBFBD><00>nt+|||||
<EFBFBD>n<>|j,<00>)|j,j.r|<10><>t1|||| ||
<EFBFBD>n<>|j2<00>@| r|| vr|j5|<14>n<>|j&s<>|j6j5|<14>nq| r|| vr|j5|<14>nY|j&rM||jjur5|j8s)t;|<14>n|jrt=||||| ||
<EFBFBD>||vs<02><01>Z||vs<02><01>`|j5|<14><00><01>s|r5|j?|<1A><00>|jA<00>fd<01>|j D<00><00>||fScc}wcc}wcc}w)Nc3<01>*<00>K<00>|]
2025-08-29 00:34:40 +08:00
}|<01>vr|<01><01><00> y<00>wrKrE)rLr2<00>remaining_supplementals <20>r3rPz_scan_cols.<locals>.<genexpr>0s"<00><><00><><00>+
<EFBFBD>1<><01><10>*<2A>*<2A> <0E>1<>s<00>)!<21>_get_returning_modifiersr|r<00>_parameter_orderingr<67>r0r<>rRr2rsrnrtru<00>_autoincrement_columnr<6E><00>#insert_null_pk_still_autoincrements<74>_supplemental_returningrc<00>_append_param_parameter<65> primary_key<65>!_append_param_insert_pk_returning<6E>$_append_param_insert_pk_no_returningr<67>r<><00>_append_param_insert_hasdefault<6C>server_defaultr<74>r`<00>nullable<6C>"_warn_pk_with_no_anticipated_value<75>_append_param_updater<65>r<>)r<>r<>r<>r<>r<>rOr<>r<>r<>r<>r<><00>need_pksrc<00>implicit_return_defaults<74>postfetch_lastrowidr?r@rs<00>parameter_ordering<6E> ordered_keysr2r<>r<00>autoincrement_colr<6C><00>supplemental_returning<6E>compiler_implicit_returningr<67>r<>s @r3r<>r<><00>s~<00><><00>( !<21><18>4<EFBFBD><1D><08>I<><06><10><1A> <20><1B><1C><1C> <19> !<21> !<21>]<5D>%;<3B>%;<3B>;<3B> ;<3B><14>(<28>(<28>+8<>+L<>+L<>
2025-02-23 09:07:52 +08:00
<EFBFBD>+L<>C<EFBFBD>N<EFBFBD>3<EFBFBD> <1F>+L<> <1B>
<EFBFBD><1B>-<2D>.<2E> <0C>*<2A>
<EFBFBD>)<29><03><19>#<23>s<EFBFBD>#<23><03>t<EFBFBD>z<EFBFBD>z<EFBFBD>|<7C>|<7C>(;<3B> <11>J<EFBFBD>J<EFBFBD>L<EFBFBD>L<EFBFBD><13> <1D>)<29>
<EFBFBD><1D>
<EFBFBD>
<EFBFBD> <0C> <0C> B<> <0C>1<EFBFBD><01><05><05>\<5C>(A<>Q<EFBFBD> <0C> B<> C<01><04><14>z<EFBFBD>z<EFBFBD>!<21>!<21><04>&<26>}<7D>5<>H<EFBFBD><0F> <0A>;<3B>;<3B>!<21>J<EFBFBD>J<EFBFBD><<3C><<3C><19> <14> <1C> <1C> @<40> @<40> ,<2C>CG<01>F<><19>?<3F> <0B>#<23>#<23>!$<24>T<EFBFBD>%A<>%A<>!B<><1E>!$<24><15><1E>"*<2A>"=<3D>"=<3D><1F>
<12><01>#<23>1<EFBFBD>%<25><07> <12>j<EFBFBD> <20>W<EFBFBD>M<EFBFBD>%A<> $<24><18><14><1D><11><17><1A><1E>"<22>(<28>#<23><16>!<21>3<><12> <0E>(<16><11>}<7D>}<7D><18>
&<26>
6<> <20>$<24><01>6<EFBFBD>2<EFBFBD><16>9<> <20>$<24><01>6<EFBFBD>2<EFBFBD><16><13><19><19>&<26><19>y<EFBFBD>y<EFBFBD>,<2C>,<2C>(<28>4<>3<> <20>$<24><01>+C<>V<EFBFBD>R<EFBFBD><16><13>!<21>!<21>-<2D>,<2C><01>5M<35>0M<30>/<2F>6<>6<>q<EFBFBD>9<><1A><1D><1D><1C>&<26>&<26>-<2D>-<2D>a<EFBFBD>0<>)<29>a<EFBFBD>3K<33>.K<>+<2B>2<>2<>1<EFBFBD>5<><12> <0A> <0A><15>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>=<3D>=<3D>=<3D><19>
<EFBFBD>
<EFBFBD>2<>1<EFBFBD>5<> <1A> #<23> #<23> !<21><18><1D><14><11>(<28><16><12> <0E> <0E>'<27> '<27><11>4<>4<> '<27> .<2E> .<2E>q<EFBFBD> 1<>S<12>V<1E>"8<>!B<>!B<> '<27>"
<EFBFBD><1E> $<24>*<2A>*<2A>+
<EFBFBD><19>1<>1<>+
<EFBFBD>
<EFBFBD>& !<21>"6<> 7<>7<><37>Q
<EFBFBD><EFBFBD>
2025-08-29 00:34:40 +08:00
<EFBFBD><EFBFBD> Cs<00> L4<04>+AL9<04> L><06>!L>c <01><00> <0A>t|||| <09>^} } } } | sy|jr|jj| <0C>|jrDt |j<00><00> |jj<00> fd<01>|jD<00><00>yy)Nc3<01>,<00>K<00>|] }|<01>vs<01>|<01><01><00> y<00>wrKrE)rLr2<00>ir_sets <20>r3rPz0_setup_delete_return_defaults.<locals>.<genexpr>_s<00><><00><><00>+
<EFBFBD>3<>!<21>q<EFBFBD><06><EFBFBD>A<EFBFBD>3<>s<00> <01>)r<><00>_return_defaults_columnsrcr<>r<>r<>)r<>r<>r<>r<>r<>rOr<>r<>r<>r<>r<>r<>r<>r<>s @r3rkrkFs<><00><><00>,D<01><10>$<24> <0A>x<EFBFBD>,<06>(<28>Q<EFBFBD><01> #<23>a<EFBFBD> $<24><0E> <0B>$<24>$<24><10>#<23>#<23>*<2A>*<2A>+C<>D<> <0B>#<23>#<23><14>X<EFBFBD>0<>0<>1<><06><10>#<23>#<23>*<2A>*<2A>+
2025-02-23 09:07:52 +08:00
<EFBFBD><1B>3<>3<>+
<EFBFBD>
2025-08-29 00:34:40 +08:00
<EFBFBD>$r5c<01><00>|j|<04>}| jd<01>du}|jj||j<00><02>}t <00>}t j|<0E>r|| r7|jr+|| ur'| rd|_ n|r|jj|<03>t|||f|tut|<02>r |js||<03>n
d||<03>z||d<05>| <0A><01>}<0E>n<>|j r<>| rW|j"<00>K|jr?|| ur;|r|jj|<03>n|j$jrd|_ t'|||ft|<02>r |js||<03>n
d||<03>z|d<06>| <0A><01>}n<>|j(|j+<00>fd|i| <0A><01>}|j,r>|r ||vr|jj|<03>n<>|j.j|<03>n<>|jr<|r|jj|<03>n[|j$jrEd|_ n=|r ||vr|jj|<03>n|j.j|<03>|
j||||f<04>y)NrG<00><01> use_tableTz%s_m0)rIr<>rHr<>)r<>rHrH)rerdrprq<00>include_table_with_column_exprsr<73>r<00> _is_literalr<6C>r<>rcr<>rrr,rtru<00>_is_bind_parameterr<72>r<>r<>r<><00>
self_groupr|r`)r<>r<>r<>r2r<>r<>r<>rcr<>r<>r<>r<>r<>r<>r<><00>has_visiting_cte<74> col_value<75>accumulated_bind_namess r3r<>r<>ds<><00><00> <17>N<EFBFBD>N<EFBFBD>7<EFBFBD> #<23>E<EFBFBD><19>v<EFBFBD>v<EFBFBD>n<EFBFBD>-<2D>T<EFBFBD>9<><14><18>!<21>!<21>/<2F>/<2F> <09>]<5D>B<>B<>0<><06>I<EFBFBD>(+<2B>u<EFBFBD><1A><10><1C><1C>U<EFBFBD>#<23> /<2F><11> <0A> <0A><11>&<26>&<26>
#<23>/3<><08>,<2C>#<23><18>+<2B>+<2B>2<>2<>1<EFBFBD>5<>"<22> <14> <0A> <11>
<EFBFBD><1B>h<EFBFBD>&<26>/<2F>}<7D>=<3D>$<24>:<3A>:<3A><1F>q<EFBFBD>!<21><1D>~<7E>a<EFBFBD>0<>0<>"8<>,<2C>
<EFBFBD><11>
<EFBFBD><05>
2025-02-23 09:07:52 +08:00
<0F> !<21> !<21> /<2F><15> <0B> <0B>#<23><11> <0A> <0A><11>&<26>&<26>"<22><18>+<2B>+<2B>2<>2<>1<EFBFBD>5<><19>!<21>!<21>5<>5<>/3<><08>,<2C>.<2E> <14> <0A> <11> 
<EFBFBD> /<2F>}<7D>=<3D>$<24>:<3A>:<3A><1F>q<EFBFBD>!<21><1D>~<7E>a<EFBFBD>0<>0<>"8<> 
<EFBFBD><11> 
<EFBFBD><05>!<21><08> <20> <20> <11> <1C> <1C> <1E>
<EFBFBD>"8<>
<EFBFBD><11>
<EFBFBD><05> <19> !<21> !<21>'<27>A<EFBFBD>1I<31>,I<><18>+<2B>+<2B>2<>2<>1<EFBFBD>5<><19>"<22>"<22>)<29>)<29>!<21>,<2C><10>}<7D>}<7D>%<25><1C>/<2F>/<2F>6<>6<>q<EFBFBD>9<><1D>%<25>%<25>9<>9<>37<33>H<EFBFBD>0<>)<29>q<EFBFBD>4L<34>/L<><18>+<2B>+<2B>2<>2<>1<EFBFBD>5<><19>"<22>"<22>)<29>)<29>!<21>,<2C>
<EFBFBD>M<EFBFBD>M<EFBFBD>1<EFBFBD>i<EFBFBD><15>(><3E>?<3F>@r5c <01>(<00>|j<00><01><>|jjr<>|jjr<>|jjr|jj
sUt <00>}|j||jj|<02>|j|jfd|i|<04><01>|f<04>|jj|<02>y|jjr<>t <00>}|j||jj|<02>|j|jjj<00>fd|i|<04><01>|f<04>|jj|<02>y|j||jj|<02>t||fi|<04><01>|j ff<04>y||j"j$us |j&<00>|jj|<02>y|j(s t+|<02>yy)z<>Create a primary key expression in the INSERT statement where
we want to populate result.inserted_primary_key and RETURNING
is available.
2025-08-29 00:34:40 +08:00
NrH)r<><00> is_sequencer<65><00>supports_sequences<65>optional<61>sequences_optionalr<6C>r<>rprqr<>rc<00>is_clause_element<6E>argr<00>"_create_insert_prefetch_bind_paramrsrRr<>r<>r<>r<>)r<>r<>r2r<>r<>rs r3r<>r<><00>s<><00><00>  <09>y<EFBFBD>y<EFBFBD><1C> <0C>9<EFBFBD>9<EFBFBD> <20> <20><17><1F><1F>2<>2<><15>I<EFBFBD>I<EFBFBD>&<26>&<26><1F>'<27>'<27>:<3A>:<3A>36<33>5<EFBFBD>&<26><16> <0A> <0A><19> <20>)<29>)<29>7<>7<><01>:<3A>(<28><08>(<28>(<28><1D>I<EFBFBD>I<EFBFBD><1A>2H<32><1A>!<21><1A>
2025-02-23 09:07:52 +08:00
/<2F> <16> <12> <15> '<27> '<27> .<2E> .<2E>q<EFBFBD> 1<> <0E>Y<EFBFBD>Y<EFBFBD> (<28> (<28>%(<28>U<EFBFBD> "<22> <12>M<EFBFBD>M<EFBFBD><15><1C>%<25>%<25>3<>3<>A<EFBFBD>6<>$<24>H<EFBFBD>$<24>$<24><19> <09> <09> <0A> <0A>0<>0<>2<><16>.D<><16><1D><16>
+<2B> <12> <0E> <15> '<27> '<27> .<2E> .<2E>q<EFBFBD> 1<>
<13>M<EFBFBD>M<EFBFBD><15><1C>%<25>%<25>3<>3<>A<EFBFBD>6<>6<>x<EFBFBD><11>I<>b<EFBFBD>I<><16>U<EFBFBD>U<EFBFBD>H<EFBFBD> <12> <0E>
<0B>d<EFBFBD>j<EFBFBD>j<EFBFBD>.<2E>.<2E> .<2E>!<21>2B<32>2B<32>2N<32><10>#<23>#<23>*<2A>*<2A>1<EFBFBD>-<2D> <0E>Z<EFBFBD>Z<EFBFBD> +<2B>1<EFBFBD>-<2D>r5c <01>2<00>|j<00>X|jjr<>|jjr,|jjr<>|jj
r<>||j jur<>|jjs<>|j<00>,|jjr|jjs"|j<00>[|jjrE|j||jj|<02>t||fi|<04><01>|jff<04>y|j<00><|j<00>0|j s$||j jur t#|<02>y|jjrd|_yy)aoCreate a primary key expression in the INSERT statement where
we want to populate result.inserted_primary_key and we cannot use
RETURNING.
Depending on the kind of default here we may create a bound parameter
in the INSERT statement and pre-execute a default generation function,
or we may use cursor.lastrowid if supported by the dialect.
2025-08-29 00:34:40 +08:00
NT)r<>r
r<>r r r rRr<>r<><00>"preexecute_autoincrement_sequencesr<73>rprqrrsr<>r<>r<><00>r<>r<>r2r<>r<>s r3r<>r<>sK<00><00>
2025-02-23 09:07:52 +08:00
<EFBFBD> <09> <09><1D><12> <09> <09>%<25>%<25><18> <20> <20>3<>3<><19> <09> <09>*<2A>*<2A>#<23>+<2B>+<2B>><3E>><3E>
<EFBFBD>T<EFBFBD>Z<EFBFBD>Z<EFBFBD> -<2D> -<2D>-<2D><19> <20> <20>4<>4<><16>I<EFBFBD>I<EFBFBD>)<29><19> <09> <09>-<2D>-<2D> <20>(<28>(<28>;<3B>;<3B><16>I<EFBFBD>I<EFBFBD>%<25> <20>(<28>(<28>K<>K<> <0F> <0A> <0A><11><18>!<21>!<21>/<2F>/<2F><01>2<>2<>8<EFBFBD>Q<EFBFBD>E<>"<22>E<><12><15><15><08>  <0E>
<EFBFBD>
<EFBFBD> <09> <09><19> <0A> <1C> <1C> $<24><11>
<EFBFBD>
<EFBFBD> <0A>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>5<>5<> 5<> +<2B>1<EFBFBD>-<2D> <11> <19> <19> -<2D> -<2D>
(,<2C><08>$<24>
.r5c <01><00>|jjr<>|jjr<>|jjr|jj
2025-08-29 00:34:40 +08:00
s<>t <00>}|j||jj|<02>|j|jfd|i|<05><01>|f<04>|r ||vr|jj|<02>y|js|jj|<02>yyyy|jjr<>t <00>}|j||jj|<02>|j|jjj!<00>fd|i|<05><01>|f<04>|r ||vr|jj|<02>y|js|jj|<02>yy|j||jj|<02>t#||fi|<05><01>|j$ff<04>y)NrH)r<>r
r<>r r r r<>r<>rprqr<>rcr<>r`rrrrrs)r<>r<>r2r<>r<>r<>rs r3r<>r<>cs<><00><00> <09>y<EFBFBD>y<EFBFBD><1C><1C> <13> <1B> <1B> .<2E> .<2E><11> <09> <09>"<22>"<22>(<28>*:<3A>*:<3A>*M<>*M<>/2<>u<EFBFBD> "<22> <12>M<EFBFBD>M<EFBFBD><15><1C>%<25>%<25>3<>3<>A<EFBFBD>6<>$<24>H<EFBFBD>$<24>$<24><19> <09> <09><16>.D<><16><1D><16>
2025-02-23 09:07:52 +08:00
+<2B> <12> <0E>(<28>A<EFBFBD>1I<31>,I<><18>+<2B>+<2B>2<>2<>1<EFBFBD>5<><16>]<5D>]<5D><18>"<22>"<22>)<29>)<29>!<21>,<2C>#<23>#+N<01> /<2F>(
<0B><19><19> $<24> $<24>!$<24><15><1E><0E> <0A> <0A><11><18>!<21>!<21>/<2F>/<2F><01>2<> <20><08> <20> <20><15>I<EFBFBD>I<EFBFBD>M<EFBFBD>M<EFBFBD>,<2C>,<2C>.<2E><12>*@<40><12><19><12>
'<27> <0E>
<EFBFBD> $<24><01>-E<>(E<> <14> '<27> '<27> .<2E> .<2E>q<EFBFBD> 1<><12><1D><1D> <14> <1E> <1E> %<25> %<25>a<EFBFBD> (<28><1F> <0F> <0A> <0A><11><18>!<21>!<21>/<2F>/<2F><01>2<>2<>8<EFBFBD>Q<EFBFBD>E<>"<22>E<><12><15><15><08>  <0E>
r5c <01><><00>t|j<00>r<>|jjrt|jjr|jj
2025-08-29 00:34:40 +08:00
sG|j ||jj|<02>|jj<00>df<04>yyyt|j<00>rQ|j ||jj|<02>|jjj<00>df<04>y|j ||jj|<02>t||fddi|<04><01>|jff<04>y)NrEr<>F)rr<>r<>r r r r<>rprq<00>
next_valuerrrrrsrs r3r<>r<><00>s<00><00><1B>1<EFBFBD>9<EFBFBD>9<EFBFBD>%<25> <13> <1B> <1B> .<2E> .<2E><11> <09> <09>"<22>"<22>(<28>*:<3A>*:<3A>*M<>*M<> <12>M<EFBFBD>M<EFBFBD><15><1C>%<25>%<25>3<>3<>A<EFBFBD>6<><15>I<EFBFBD>I<EFBFBD>(<28>(<28>*<2A><16> <12> <0E>+N<01> /<2F>
2025-02-23 09:07:52 +08:00
#<23>1<EFBFBD>9<EFBFBD>9<EFBFBD> -<2D><0E> <0A> <0A><11><18>!<21>!<21>/<2F>/<2F><01>2<><11> <09> <09> <0A> <0A>(<28>(<28>*<2A><12>  <0E>
<EFBFBD> <0F> <0A> <0A><11><18>!<21>!<21>/<2F>/<2F><01>2<>2<><1C>a<EFBFBD><12>).<2E><12>24<32><12><13><15><15><08>  <0E>
r5c <01>j<00>|j}|j<00><01>|jjs<>|jjr<>|j ||j
j ||<07><01>|j|jjj<00>fi|<06><01>df<04>|r ||vr|jj |<03>y|jj |<03>y|j ||j
2025-08-29 00:34:40 +08:00
j ||<07><01>t||fi|<06><01>|jff<04>y|j<00>>|r ||vr|jj |<03>y|jj |<03>y|r:|js |j s!||vr|jj |<03>yyyy)NrrE)r<00>onupdater
rr<>rprqr<>rrrcr`<00>"_create_update_prefetch_bind_paramrs<00>server_onupdater<65>ri)r<>r<>r<>r2r<>r<>r<><00> include_tables r3r<>r<><00>s<><00><00>"<22>A<>A<>M<EFBFBD><08>z<EFBFBD>z<EFBFBD><1D>a<EFBFBD>j<EFBFBD>j<EFBFBD>&<<3C>&<<3C> <0C>:<3A>:<3A> '<27> '<27> <12>M<EFBFBD>M<EFBFBD><15><1C>%<25>%<25>3<>3<><19>"/<2F>4<><16>%<25>H<EFBFBD>$<24>$<24>Q<EFBFBD>Z<EFBFBD>Z<EFBFBD>^<5E>^<5E>%><3E>%><3E>%@<40>G<>B<EFBFBD>G<><16><12>
2025-02-23 09:07:52 +08:00
<0E>(<28>A<EFBFBD>1I<31>,I<><18>+<2B>+<2B>2<>2<>1<EFBFBD>5<><18>"<22>"<22>)<29>)<29>!<21>,<2C> <12>M<EFBFBD>M<EFBFBD><15><1C>%<25>%<25>3<>3<><19>"/<2F>4<><16>7<>x<EFBFBD><11>I<>b<EFBFBD>I<><16>U<EFBFBD>U<EFBFBD>H<EFBFBD><12>
<0E>
2025-08-29 00:34:40 +08:00
<0B> <1A> <1A> &<26> #<23><01>-E<>(E<> <14> '<27> '<27> .<2E> .<2E>q<EFBFBD> 1<> <14> <1E> <1E> %<25> %<25>a<EFBFBD> (<28> <20> <11> *<2A> *<2A>$<24>2G<32>2G<32> <0A>)<29> )<29><10>#<23>#<23>*<2A>*<2A>1<EFBFBD>-<2D> *<2A>3H<01> !r5c <01><00>yrKrE<00>r<>r2r<>r<>s r3rr<00>r<>r5c <01><00>yrKrErs r3rr<00><00><00><00> #&r5c <01>^<00>t||df||d<01>|<04><01>}|jj|<01>|S<00>N)r<>r<>)rrrar<><00>r<>r2r<>r<>r<><00>params r3rr<00>B<00><00> <1F><10>!<21>T<EFBFBD> <06>#*<2A><14> <06>9;<3B> <06>E<EFBFBD> <0A><1C><1C>#<23>#<23>A<EFBFBD>&<26> <10>Lr5c <01><00>yrKrErs r3rrr<>r5c <01><00>yrKrErs r3rrrr5c <01>^<00>t||df||d<01>|<04><01>}|jj|<01>|Sr!)rrrbr<>r"s r3rr#r$r5c<01>t<00>eZdZdZd<02>Zd<03>Zd<04>Zd<05>Zejd d<06><04>Z
2025-02-23 09:07:52 +08:00
ejd d<07><04>Z y)
2025-08-29 00:34:40 +08:00
<EFBFBD>_multiparam_columnTc<01><><00>||_d|j|dzfz|_||_|j|_|j|_y)N<>%s_m%dr)<05>indexrs<00>originalr<6C>r<>)<03>selfr-r,s r3<00>__init__z_multiparam_column.__init__4sA<00><00><1A><04>
<EFBFBD><1B>x<EFBFBD>|<7C>|<7C>U<EFBFBD>Q<EFBFBD>Y<EFBFBD>7<>7<><04><08> <20><04> <0A><1F>'<27>'<27><04> <0C><1C>M<EFBFBD>M<EFBFBD><04> r5c <01><00>t<00><00>rK<00><01>NotImplementedError)r.<00>otherr<72>s r3<00>comparez_multiparam_column.compare;<00> <00><00>!<21>#<23>#r5c <01><00>t<00><00>rKr1)r.r<>s r3<00>_copy_internalsz"_multiparam_column._copy_internals>r5r5c<01><><00>t|t<00>xr4|j|jk(xr|j|jk(SrK)r0r)rsr-)r.r3s r3<00>__eq__z_multiparam_column.__eq__As<<00><00> <16>u<EFBFBD>0<> 1<> 0<><15> <09> <09>T<EFBFBD>X<EFBFBD>X<EFBFBD>%<25> 0<><15><0E><0E>$<24>-<2D>-<2D>/<2F>
r5c<01>@<00>tj|j<00>S<00>z1used by default.py -> _process_execute_defaults())r<00>_from_column_defaultr<74><00>r.s r3<00>_default_description_tuplez-_multiparam_column._default_description_tupleHs<00><00>(<28><<3C><<3C>T<EFBFBD>\<5C>\<5C>J<>Jr5c<01>@<00>tj|j<00>Sr;)rr<rr=s r3<00>_onupdate_description_tuplez._multiparam_column._onupdate_description_tupleNs<00><00>(<28><<3C><<3C>T<EFBFBD>]<5D>]<5D>K<>Kr5N)r<>r) rArBrC<00>_is_multiparam_columnr/r4r7r9r!<00>memoized_propertyr>r@rEr5r3r)r)1sT<00><00> <20><19>"<22>$<24>$<24>
2025-02-23 09:07:52 +08:00
<EFBFBD>
<EFBFBD><1B><1B>K<01><1C>K<01>

2025-08-29 00:34:40 +08:00
<EFBFBD><1B><1B>L<01><1C>Lr5r)c<01><><00>|jstjd|z<00><00>t|j<00>r5|j|jj
j <00>fi|<04><01>S|jjr|j|jfi|<04><01>St||<03>}t|tj<00>sJ<00>t||fddi|<04><01>S)Nz<4E>INSERT value for column %s is explicitly rendered as a boundparameter in the VALUES clause; a Python-side value or SQL expression is requiredr<64>T) r<>r r1rr<>rrr
r)r0r<00>Insertr)r<>r<>r2r,r<>r<>s r3<00> _process_multiparam_default_bindrEUs<><00><00> <0A>9<EFBFBD>9<EFBFBD><11><1E><1E> @<01>BC<42> D<01>
2025-02-23 09:07:52 +08:00
<EFBFBD>
<EFBFBD>
#<23>1<EFBFBD>9<EFBFBD>9<EFBFBD> -<2D><1F>x<EFBFBD><1F><1F><01> <09> <09> <0A> <0A> 8<> 8<> :<3A>A<>b<EFBFBD>A<>A<>
<EFBFBD><19><19> <1E> <1E> <20>x<EFBFBD><1F><1F><01> <09> <09>0<>R<EFBFBD>0<>0<> <20><11>E<EFBFBD>*<2A><03><19>$<24><03>
<EFBFBD>
<EFBFBD>+<2B>+<2B>+<2B>1<> <14>c<EFBFBD>
<EFBFBD>#'<27>
<EFBFBD>+-<2D>
<EFBFBD>
2025-08-29 00:34:40 +08:00
r5c <01><><00>|xsdD<00> <09>
2025-02-23 09:07:52 +08:00
cic]*\} }
tjtj| <09>|
<EFBFBD><02>,} } }
2025-08-29 00:34:40 +08:00
|j} t <00>} |j D<00>]P}| xr|jj|<0E> }|jD<00>]} | | vs<01> |r#tjd|j<00>d<03><03><00>| j|<0E>| ||| <09><| | }|j| | <0C><04>}tj|<10>r+t!|| |f|t"u|| <09>d<05>|<08><01>}| j$f}nf|j&r|| <09>}t)|| |fd|i|<08><01>}|f}n>|j*j-| <09>|j|j/<00>fi|<08><01>}d}|j-| |||f<04><00><01><00><01>S| D<00>]6}|jD<00>]#} | | vr<01> | j0<00><>| j0j2s<>| j0j4ru|j-| |j| | <0C><04>|j| j0j6j/<00>fi|<08><01>df<04>|j*j-| <09><00><>|j-| |j| | <0C><04>t9|| fd|| <09>i|<08><01>| j$ff<04><00><>| j:<00><02><01> |j*j-| <09><00><01>&<00><01>9ycc}
} w)NrEzdBackend does not support additional tables in the SET clause; cannot include columns from table(s) 'z' in SET clause<73>r)rIr<>r<>)r<00>expectrr<>rr<>r<>r<><00>is_derived_fromr2r r1rX<00>addr<64>rrrr,rsrr<>r`r<>rrr
rrrr)r<>r<>r<>r<>r<>r<>r<>r<>r<>r2r#<00>normalized_paramsr<00>affected_tablesrZ<00>$we_shouldnt_be_here_if_columns_foundr<64>rr<00>cbns r3r~r~vs0<00><00>.<2E>3<><12>3<><06>3<>H<EFBFBD>A<EFBFBD>u<EFBFBD> <12><18><18><15>,<2C>,<2C>a<EFBFBD>0<>%<25>7<>3<><16><06>
"<22>A<>A<>M<EFBFBD><19>e<EFBFBD>O<EFBFBD> <1A> '<27> '<27><01>
<1E> <1D> ?<3F>!<21>+<2B>+<2B>;<3B>;<3B>A<EFBFBD>><3E>><3E> -<2D>
<13><13><13>A<EFBFBD><10>%<25>%<25>7<><1D>*<2A>*<2A><1C><1E>M<EFBFBD>M<EFBFBD>?<3F>+%<25>%<25><16><16> <20>#<23>#<23>A<EFBFBD>&<26>56<35> <0A>.<2E>q<EFBFBD>1<>2<>)<29>!<21>,<2C><05>$<24>,<2C>,<2C>Q<EFBFBD>m<EFBFBD>,<2C>L<> <09><1C>(<28>(<28><15>/<2F>.<2E> <20><19><1D><16>"'<27>(<28>!2<>+<2B>A<EFBFBD>.<2E> <16> <1D> <16>E<EFBFBD>>?<3F>U<EFBFBD>U<EFBFBD>H<EFBFBD>*<2A><1A>-<2D>-<2D>(<28><11>+<2B>C<EFBFBD>:<3A> <20>!<21>U<EFBFBD><16>14<31><16>8:<3A><16>E<EFBFBD>/2<>V<EFBFBD>*<2A><1C>&<26>&<26>-<2D>-<2D>a<EFBFBD>0<>,<2C>H<EFBFBD>,<2C>,<2C>U<EFBFBD>-=<3D>-=<3D>-?<3F>F<>2<EFBFBD>F<>E<EFBFBD>-/<2F>*<2A><16> <0A> <0A>q<EFBFBD>)<29>U<EFBFBD>4J<34>K<>L<>M<15>(<28>f<1D><01><12><13><13>A<EFBFBD><10>%<25>%<25><18><12><1A><1A>'<27><01>
2025-02-23 09:07:52 +08:00
<EFBFBD>
<EFBFBD>0F<EFBFBD>0F<EFBFBD><14>:<3A>:<3A>/<2F>/<2F><1A>M<EFBFBD>M<EFBFBD><1D>$<24>,<2C>,<2C>Q<EFBFBD>m<EFBFBD>,<2C>L<>,<2C>H<EFBFBD>,<2C>,<2C> !<21>
<EFBFBD>
2025-08-29 00:34:40 +08:00
<EFBFBD><0E><0E> 9<> 9<> ;<3B><1E>?A<><1E><1F> <1A> <16><1D>&<26>&<26>-<2D>-<2D>a<EFBFBD>0<><1A>M<EFBFBD>M<EFBFBD><1D>$<24>,<2C>,<2C>Q<EFBFBD>m<EFBFBD>,<2C>L<>><3E> (<28>!<21><1E>2@<40><11>2C<32><1E>GI<47><1E><1F>U<EFBFBD>U<EFBFBD>H<EFBFBD> <1A> <16><13>"<22>"<22>.<2E><18>"<22>"<22>)<29>)<29>!<21>,<2C>9<15><1D><>ws<00>/K/c <01>b<00>|}|g}|jd<01>du}|j} | <09>J<00>t| dd<00>D]<5D>\}
} g} | j<00>D<00> <0A>cic]\} }|| <0A>|<0E><02>} } }|D]<5D>\}}}}|j| vrp|j} t j | | <00>r't||| | fd|j|
dzfz|d<04>|<05><01>}n4|j| | j<00>fi|<05><01>}nt||||
|<05>}| j||||f<04><00><>|j| <0C><00><>|Scc}} w)NrGrr+)r<>r<>) rdrv<00> enumeraterxrsrrrrr<>rrEr<>)r<>r<>r<><00>initial_valuesrOr<><00>values_0r<30>rr<><00>i<>row<6F> extensionrsrNr<><00>col_exprr#<00>accumulated_names<65> new_params r3r<>r<><00>sk<00><00><1E>H<EFBFBD><1C> <1D>F<EFBFBD><19>v<EFBFBD>v<EFBFBD>n<EFBFBD>-<2D>T<EFBFBD>9<><14> <16> (<28> (<28>B<EFBFBD> <0A>><3E><19>><3E><1B>B<EFBFBD>q<EFBFBD>r<EFBFBD>F<EFBFBD>#<23><06><01>3<EFBFBD>02<30> <09>47<34>I<EFBFBD>I<EFBFBD>K<EFBFBD>@<40>K<EFBFBD>&<26>#<23>q<EFBFBD>~<7E>c<EFBFBD>"<22>A<EFBFBD>%<25>K<EFBFBD><03>@<40>7?<3F> 3<>C<EFBFBD><18>5<EFBFBD>"3<><12>w<EFBFBD>w<EFBFBD>#<23>~<7E><19>g<EFBFBD>g<EFBFBD><03><1C>(<28>(<28><13>S<EFBFBD><18>2<> 2<> <20><1B><1B>C<EFBFBD><08>!<16>'<27>#<23>'<27>'<27>1<EFBFBD>q<EFBFBD>5<EFBFBD>)9<>9<>(8<> !<16> <1D> !<16>I<EFBFBD>!1<><08> 0<> 0<><13>S<EFBFBD><18>1D<31>1D<31>1F<31> M<>"<22> M<>I<EFBFBD><<3C><1C>d<EFBFBD>C<EFBFBD><11>B<EFBFBD><12> <09> <16> <1C> <1C>c<EFBFBD>8<EFBFBD>Y<EFBFBD>8I<38>J<> K<>)8@<01>, <0F> <0A> <0A>i<EFBFBD> <20>7$<24>: <12>M<EFBFBD><4D>5As<00>D+c<01><00>|D]<5D>\}}||<07>} | <09>|j| |<08><00>#|j||j<00><01>}
2025-02-23 09:07:52 +08:00
tj|<08>r4|jt j d||j<00><02>fi|<06><01>}n^|jr1|jjr|j|j<00>}|j|j<00>fi|<06><01>}|j||
2025-08-29 00:34:40 +08:00
|df<04><00><>y)NrG)r<>rE) <0A>
setdefaultr<EFBFBD>rrrrr<>r<>rr<>r<>rr<>) r<>r<>r<>r<>rOr<>r<>rMrN<00>colkeyrVs r3r{r{
s<><00><00>&<26><04><01>1<EFBFBD><1F><01>"<22><06> <11> <1D> <16> !<21> !<21>&<26>!<21> ,<2C> <20>'<27>'<27><11><1D>!N<>!N<>(<28><0E>H<EFBFBD><19>$<24>$<24>Q<EFBFBD>'<27>$<24>H<EFBFBD>$<24>$<24><1C>*<2A>*<2A>4<EFBFBD><11>!<21>&<26>&<26>A<><12>EG<45><12><01><15>'<27>'<27>A<EFBFBD>F<EFBFBD>F<EFBFBD>N<EFBFBD>N<EFBFBD><1A>3<>3<>A<EFBFBD>F<EFBFBD>F<EFBFBD>;<3B>A<EFBFBD>$<24>H<EFBFBD>$<24>$<24>Q<EFBFBD>\<5C>\<5C>^<5E>:<3A>r<EFBFBD>:<3A><01> <13>M<EFBFBD>M<EFBFBD>1<EFBFBD>h<EFBFBD><01>2<EFBFBD>.<2E> /<2F>=&r5c<01>0<00>|j}|xrct|<02>xrV|j xrG|j xs|jxr |j
2025-02-23 09:07:52 +08:00
xr|j xr |j }|xr&|jxr|jjdu}|xra|jxrS|jjxr;|jxr-| xs |jxs|jxs |j
}|rd}t|<02>r<>|xr |j
}|xs|j xs |j } |xr,|jxr|j"xr| xs |j$}
d} |
r<EFBFBD>| r<>|j&r<>|j)|j<00>} n<>|j*rE|j
xr2|jjxr|jxr |j,}d}
d} nW|j.rE|j
xr2|jjxr|jxr |j0}d}
d} nd}d}
d} |rB|j2s t5|jj6<00>} nt5|j2<00>} nd} ||xs|| ||
| fS)z<>determines RETURNING strategy, if any, for the statement.
This is where it's determined what we need to fetch from the
INSERT or UPDATE statement after it's invoked.
2025-08-29 00:34:40 +08:00
NF)r<>rt<00>_inliner<65><00>insert_executemany_returningrirhrur<>rRr<><00>insert_returning<6E>_primary_tablerc<00>_supports_implicit_returning<6E>favor_returning_over_lastrowidr<64>r?<00>!use_insertmanyvalues_wo_returning<6E>_sort_by_parameter_order<65>_get_sentinel_column_for_tabler|<00>update_returningrj<00>delete_returningr<67>r<>r2) r<>r<>r<>r<>r<>r<>r<>rc<00>should_implicit_return_defaults<74>explicit_returningr?r@r<>s r3r<>r<>4s<><00><00><17><1E><1E>G<EFBFBD> <11> 4<> #<23>M<EFBFBD> 2<> 4<><14> <0C> <0C> <1C> 4<><19>(<28>(<28> (<28> P<01><17>4<>4<>N<><14>9N<39>9N<39> 4<><15><0F><0F> <1F> 4<><1E>3<>3<> 3<> <0A> <11> 9<> <13> '<27> '<27> 9<> <10>J<EFBFBD>J<EFBFBD> ,<2C> ,<2C>D<EFBFBD> 8<><18> <11>
2025-02-23 09:07:52 +08:00
<EFBFBD> <14> $<24> $<24>
<EFBFBD>
<1A> (<28> (<28> ;<3B> ;<3B> 
<EFBFBD> <1A> 6<> 6<>
<EFBFBD>$%<25> $<24> N<><07>(N<>(N<> %<25><1C>2<>2<> %<25><13>$<24>$<24>-<17>2<1A>#<23><1B><1E>}<7D>-<2D> <1E> 8<>4<EFBFBD>#8<>#8<> (<28> ,<2C> ,<2C><13><EFBFBD><EFBFBD> ,<2C><13>+<2B>+<2B> <1B> <15> <0E><18>(<28>(<28> <0E><17>,<2C>,<2C> <0E>#<23>O<>g<EFBFBD>&O<>&O<> <1D> $<24><1C> <20>"<22><14>-<2D>-<2D>#+<2B>#J<>#J<><14>
<EFBFBD>
<EFBFBD>$<0E> <20>
2025-08-29 00:34:40 +08:00
<17> <1F> <1F> <10> !<21> !<21> )<29><1D>,<2C>,<2C>?<3F>?<3F> )<29><1D>:<3A>:<3A> )<29><18>(<28>(<28> (<28> %<25><1C>#<23><1C> <16> <1F> <1F> <10> !<21> !<21> )<29><1D>,<2C>,<2C>?<3F>?<3F> )<29><1D>:<3A>:<3A> )<29><18>(<28>(<28> (<28> %<25><1C>#<23><1C>*/<2F>'<27>$<24><1C>#<23><1C>&<26><13>,<2C>,<2C>(+<2B>4<EFBFBD>:<3A>:<3A><<3C><<3C>'8<> $<24>'*<2A>4<EFBFBD>+H<>+H<>'I<> $<24>#'<27> <20> <11><1A>=<3D>=<3D> <20><1B><1C><1C>  <06>r5c<01><><00>d|jj<00>d|j<00>d|jj<00>d<04>}t|jj<00>dkDr|dz }t j |<01>y)NzColumn '<27>.z6' is marked as a member of the primary key for table 'z<>', but has no Python-side or server-side default generator indicated, nor does it indicate 'autoincrement=True' or 'nullable=True', and no explicit value is passed. Primary key columns typically may not store NULL.ra0 Note that as of SQLAlchemy 1.1, 'autoincrement=True' must be indicated explicitly for composite (e.g. multicolumn) primary keys if AUTO_INCREMENT/SERIAL/IDENTITY behavior is expected for one of the columns in the primary key. CREATE TABLE statements are impacted by this change as well on most backends.)rR<00>fullnamer<65><00>lenr<6E>r!<00>warn)r2<00>msgs r3r<>r<><00>sb<00><00> <0A>7<EFBFBD>7<EFBFBD> <1B> <1B>Q<EFBFBD>V<EFBFBD>V<EFBFBD>Q<EFBFBD>W<EFBFBD>W<EFBFBD>%5<>%5<>  7<><08> <0B>1<EFBFBD>7<EFBFBD>7<EFBFBD> <1E> <1E><1F>!<21>#<23> <0B> <1D>
<EFBFBD><03> <09>I<EFBFBD>I<EFBFBD>c<EFBFBD>Nr5)r2r-r<>r.) r<>r$r<>r'r<>r&r<>r=r<>rr<>r8).FNF)r<>r$r<>r-r<>rr<><00> Literal[True]rIr=r<><00> Optional[str]r<>r=r<>rr<>r<>)
r<EFBFBD>r$r<>r-r<>rr<>rr<>r<>)TFNF)r<>r$r<>r-r<>rr<>r=rIr=r<>rqr<>r=r<>rr<>z'Union[str, elements.BindParameter[Any]])r<>r$r<>r'r<>r&r<>z<>Tuple[Callable[[Union[str, ColumnClause[Any]]], Union[str, Tuple[str, str]]], Callable[[ColumnClause[Any]], Union[str, Tuple[str, str]]], _BindNameForColProtocol]) r<>r$r<>r'r2r.r<>zList[_CrudParamElementSQLExpr]r<><00>Dict[str, Any]r<><00>None).)
r<EFBFBD>r$r2r-r<>rpr<>rr<>r<>)
r<EFBFBD>r$r2r-r<>zLiteral[False]r<>rr<>zelements.BindParameter[Any])TN) r<>r$r2r-r<>r=r<>rqr<>rr<>z'Union[elements.BindParameter[Any], str]) r<>r$r<>r'r2r6r,<00>intr<74>rrr<>r<>)r<>r$r<>r'r<>r&rQr^rOr_r<>rrr<>r;)R<>__doc__<5F>
__future__rr<>r<><00>typingrrrrrr r
r r r rrrrr<00>rrrr<00>baserrrtr<00>schemarrr<>rrr r!<00> util.typingr"r<>r#r$r%r&r'r(r)r*r+<00>symbolr,r4r<><00>_CrudParamElement<6E>_CrudParamElementStr<74>_CrudParamElementSQLExprr9r8r<>rrr<>rfr<>r<>rkr<>r<>r<>r<>r<>r<>rrr)rEr~r<>r{r<>r<>rEr5r3<00><module>r<>s<><00><01><04>#<23><10><0F><16><1B><17><17><1B><17>!<21><1D><1B><1B><1B><16><18> <20><18><17><11><16><13>*<2A>4<>"<22>-<2D>'<27><1E>#<23><12><13>!<21><10>1<>%<25>&<26><1D><1F>'<27>,<2C>'<27><1E> <16>4<EFBFBD>;<3B>;<3B><0E> <04> <02><08> <0A><1A><18><07> <0C> <0A>c<EFBFBD>$<24>$<24>%<25><06> <0A>S<EFBFBD>M<EFBFBD> <13><02><11><1D><1D><07><07> <0C>S<EFBFBD>M<EFBFBD><13><02><14> !<21><17><07><15> <0C>S<EFBFBD>M<EFBFBD><13><02><18><1A>+<2B>,<2C><12>A<01>*<2A>A<01>}<06><19>}<06>
<14>}<06><1C>}<06><13> }<06>
<0E> }<06> <11> }<06>@

2025-02-23 09:07:52 +08:00
<EFBFBD>
2025-08-29 00:34:40 +08:00
!<21><1A><1E>!<21> <0E><19> <0E> <1B> <0E> <0F> <0E><1B> <0E>
<13> <0E> <18> <0E><1A> <0E> <0E> <0E> <09> <0E>
<EFBFBD> <0E>
2025-02-23 09:07:52 +08:00
<EFBFBD><0E><19><0E> <1B><0E> <0F><0E> <0E> <0E>
 <09> <0E>
2025-08-29 00:34:40 +08:00
<EFBFBD><0E><19><1A><1E>!<21><19><19><19> <1B><19> <0F><19><12> <19>
<13> <19> <18> <19><1A><19> <0E><19>-<2D><19>2#4<>L3<<3C><19>3<<3C>!+<2B>3<<3C><D<>3<<3C><02>3<<3C>lBC<01>JA8<>H
<EFBFBD><rA<01>j:.<2E>zJ,<2C>Z4
2025-02-23 09:07:52 +08:00
<EFBFBD>n&
<EFBFBD><19>&
<EFBFBD>
<14>&
<EFBFBD><19>&
<EFBFBD> +<2B> &
<EFBFBD>
<17> &
<EFBFBD> 
<EFBFBD> &
<EFBFBD>R+.<2E>\
<EFBFBD>!<21><0E><19><0E><19><0E><1B><0E> <0E> <0E>
 <09> <0E>
<EFBFBD><0E>
<EFBFBD>&<26><19>&<26><19>&<26><1C>&<26> <0E> &<26>
!<21> &<26>
<EFBFBD>&<26><19><1E> <11><19> <11><19> <11><12> <11> <18> <11>
<0E> <11> -<2D> <11>
<EFBFBD>!<21><0E><19><0E><19><0E><1B><0E> <0E> <0E>
 <09> <0E>
<EFBFBD><0E>
<EFBFBD>&<26><19>&<26><19>&<26><1C>&<26> <0E> &<26>
!<21> &<26>
<EFBFBD>&<26><19><1E> <11><19> <11><19> <11><12> <11> <18> <11>
<0E> <11> -<2D> <11>!L<01><18>/<2F>/<2F><03>4<>!L<01>H
<EFBFBD><19>
<EFBFBD>
<14>
<EFBFBD><1F>
<EFBFBD> <0F> 
<EFBFBD>
<17> 
<EFBFBD>  <09> 
2025-08-29 00:34:40 +08:00
<EFBFBD>Bc-<2D>L+<12><19>+<12>
<14>+<12><1C>+<12>3<> +<12>
'<27> +<12> <17> +<12>*<2A>+<12>\'0<>TF<06>Rr5