@%` dZddlZddlmZddlmZddlmZddlmZddlmZdd lm Z dd lm Z dd lm Z dd lm Z dd lm Z ddlmZddlmZddlmZGddeZe de dede de diZdZdZeje ddZejedeje ddZdS)z5Establish constraint and index naming conventions. N) _NONE_NAME)conv)CheckConstraint)Column) Constraint)ForeignKeyConstraint)Index)PrimaryKeyConstraint)Table)UniqueConstraint)event)events)exccJeZdZdZdZdZdZdZdZdZ dZ d Z d Z d S) ConventionDictc|||_t|t|_||_||_|j|_dSN)const isinstancer _is_fktable conventionname _const_name)selfrrrs /srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/sqlalchemy/sql/naming.py__init__zConventionDict.__init__s9  (<==  $ :c|jjSr)rrrs r_key_table_namezConventionDict._key_table_name&s zr c|jr9 |jj|}t|j|S#t $rYdSwxYwt |jj} ||}t||S#t $rYdSwxYw)N)rrelementsgetattrparent IndexErrorlistcolumns)ridxattrnamefkcolscols r _column_XzConventionDict._column_X)s ; . 4Z(-ry(333   rr   *++D .3isH---   rr s0 >>A33 BBc|jdtfvrtjdt |jt s d|j_|jS)NzcNaming convention including %(constraint_name)s token requires that constraint is explicitly named.)rrrInvalidRequestErrorrrrrr"s r_key_constraint_namez#ConventionDict._key_constraint_name:sX  j1 1 1)2  $*D11 #"DJOr c.||dS)Nkeyr1rr,s r_key_column_X_keyz ConventionDict._key_column_X_keyEs~~c5)))r c.||dS)Nrr7r8s r_key_column_X_namez!ConventionDict._key_column_X_nameKs~~c6***r c.||dS)N _ddl_labelr7r8s r_key_column_X_labelz"ConventionDict._key_column_X_labelNs~~c<000r c|jjd}|jd}t |dkr|\}}}n|\}}|S)Nr.)rr&target_fullnamesplitlen)rr.refs refschemareftablerefcols r_key_referred_table_namez'ConventionDict._key_referred_table_nameQsS Z  #!'',, t99>>*. 'Ix# Hfr c>|jj|}|jjSr)rr&columnr)rr,r.s r_key_referred_column_X_namez*ConventionDict._key_referred_column_X_nameZs Z  %y~r c||jvr!|j||j|jSt|d|zrt |d|zSt jd|}|rU|d}|d}|r|jr |jj }nt|jj }g}t|D]k\}}d| d|zdz} |t |||O#t$rt!|wxYw|drdnd } | |Sd| |dz}t'|}t||rt |||St!|) Nz_key_%sz.*_?column_(\d+)(_?N)?_.+rr_key_0X_r%)rrrhasattrr'rematchgrouprr&r*r+ enumeratereplaceappendAttributeErrorKeyError startswithjoinint) rr6 col_templater, multipleselemstokenselemattrseps r __getitem__zConventionDict.__getitem__as $/ ! !'4?3' DJ?? ? T9s? + + 8174S1133 38$@#FFL 8"((++(..q11 8{9 $ 3 $TZ%7 8 8F%.u%5%500 T&S9_c)J)JJ0"MM*='$*=*=c*B*BCCCC-000"*3--/0!*!5!5c!:!:B##C88F+++"S[[c%:%::Dc((CtT**82wtT223777smms =,D**EN) __name__ __module__ __qualname__rr#r1r4r9r;r>rIrLrer rrrs&&&..."    *** +++111r rixpkckuqr.c|jD]=}|tvr$t||vr|t|cS||vr ||cS>dSr)__mro__ _prefix_dict)dict_r6super_s r_get_conventionrssh+ \ ! !l6&:e&C&Cf-. . . . u__= tr cf|j}t|jt|}t |jt r|jS|Yt |jt s?|jd|vs|jtur&t |t|||jzS|turdSdS)Nconstraint_name) metadatarsnaming_conventiontyperrrrr)rrrvrs r_constraint_name_for_tablerys~H !;T%[[IIJ%*d##z5:t,,  J  J..zZ'' UE8+EFF G    z ! !t " !r '_sa_event_column_added_to_pk_constraintcj|jr)|j}d|_t||}|r ||_dSdSdSr)_implicit_generatedrrry) pk_constraintr0rnewnames r_column_added_to_pk_constraintrsZ( ) #! ,]EBB  )!(M    ) ) ) )r after_parent_attachc t|trtj|dfddSt|trEtjt sjturdSt|}|r |_dSdSdS)Nrc$t|Sr)_constraint_name)r0rrs rz"_constraint_name..s/u==r ) rrrlistenr rrrry)rrr~s` rrrs%  !   ! = = = =     E5 ! !! ej$ ' ' 5:+C+C F,UE::  ! EJJJ !!  ! !r )__doc__rSr&rrschemarrrr r r r r r%rrrobjectrrprsry listens_forrrrir rrs  ######(((((((((((($$$$$$aaaaaVaaaJ 4$Td$  .C ) ) ):4555/00!!1065!!!r