
    mg                        S SK Jr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  \R                  " SS	5      S
 5       r\R                  " SS	5      S 5       r
\R                  " SS	5      S 5       r\R                  " SS	5      S 5       r\R                  " SS	5      S 5       r\R                  " S	5      SSS.S j5       rg)   )exc)configure_follower)	create_db)drop_db)generate_driver_url)temp_table_keyword_args)upsertmysqlmariadbc                 R   U R                  5       nUS:X  a(  U R                  5       nUR                  U 5      (       a  SnU R                  U< SU< 3S9R	                  U5      nUS:X  a  UR                  S/5      n UR                  5         U$ ! [        R                   a     g f = f)Nr
   r   +)
drivernamemariadbconnectorcharset)get_backend_nameget_dialect_is_mariadb_from_urlsetupdate_query_stringdifference_update_queryr   NoSuchModuleError)urldriver	query_strbackenddialect_clsnew_urls         k/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/sqlalchemy/dialects/mysql/provision.pyr   r      s    ""$G 'oo'++C00Ggg%v.  )$  ##119+>     s   =B B&%B&c                 ^   UR                  5        n [        XU5        S S S 5        UR                  5        nUR                  SU-  5        UR                  SU-  5        UR                  SU-  5        S S S 5        g ! [         a     Njf = f! , (       d  f       Nt= f! , (       d  f       g = f)Nz(CREATE DATABASE %s CHARACTER SET utf8mb4z4CREATE DATABASE %s_test_schema CHARACTER SET utf8mb4z6CREATE DATABASE %s_test_schema_2 CHARACTER SET utf8mb4)begin_mysql_drop_db	Exceptionexec_driver_sqlcfgengidentconns       r   _mysql_create_dbr)   6   s    		3e, 
 
6>	
 	BUJ	
 	DuL	
 
  		 
 
s3   BA==B=
B
B	B

B
B
B,c                 ,    SU-  U l         SU-  U l        g )Nz%s_test_schemaz%s_test_schema_2)test_schematest_schema_2)configr'   s     r   _mysql_configure_followerr.   J   s    )E1F-5F    c                     UR                  5        nUR                  SU-  5        UR                  SU-  5        UR                  SU-  5        S S S 5        g ! , (       d  f       g = f)NzDROP DATABASE %s_test_schemazDROP DATABASE %s_test_schema_2zDROP DATABASE %s)r    r#   r$   s       r   r!   r!   P   sS    	;eCD=EF/%78 
s   =A
A%c                     SS/0$ )Nprefixes	TEMPORARY )r%   r&   s     r   _mysql_temp_table_keyword_argsr5   X   s    &&r/   NF)
set_lambdasort_by_parameter_orderc                   SSK Jn  U" U5      nU(       a#  UR                  " S0 U" UR                  5      D6nO6UR                  R
                  S   nUR                  UR                  U05      nUR                  " USU06nU$ )N    )insertr7   r4   )sqlalchemy.dialects.mysqlr:   on_duplicate_key_updateinsertedprimary_keyckey	returning)r%   tablerA   r6   r7   r:   stmtpk1s           r   _upsertrE   ]   s}     1%=D++Hj.GH!!!$++SWWcN;>>	,CD Kr/   ) r   testing.provisionr   r   r   r   r   r	   for_dbr)   r.   r!   r5   rE   r4   r/   r   <module>rI      s     3 * ( 4 8 ' GY/  0 F '9%
 &
& 7I.6 /6
 	#9 $9 3' 4' y)-u r/   