
    ]j                        U d dl mZ d dlZd dlmZmZmZ erd dlmZ d dl	m
Z
mZmZmZ  ej                  d      ZeeedZded	<   	 d	 	 	 	 	 dd
ZddZddZ	 d	 	 	 	 	 	 	 ddZy)    )annotationsN)TYPE_CHECKINGIterableType)Issue)BaseAnalyserMySqlAnalyserPostgresqlAnalyserSqliteAnalyserdjango_migration_linter)sqlitemysql
postgresqlzdict[str, Type[BaseAnalyser]]ANALYSER_STRING_MAPPINGc                2    |rt        |      S t        |       S N)get_sql_analyser_from_string%get_sql_analyser_class_from_db_vendor)database_vendoranalyser_strings     W/root/env/lib/python3.12/site-packages/django_migration_linter/sql_analyser/analyser.pyget_sql_analyser_classr      s     +O<<0AA    c           	         | t         vr<t        dj                  | dj                  t         j	                                           t         |    S )Nz-Unknown SQL analyser '{}'. Known values: '{}'z',')r   
ValueErrorformatjoinkeys)r   s    r   r   r   !   sL    55;BB

2779:
 	
 #?33r   c                    d| v rt         }n0d| v rt        }n%d| v rt        }nt        dj	                  |             t
        j                  d|       |S )Nr   postgrer   zAUnsupported database vendor '{}'. Try specifying an SQL analyser.zChosen SQL analyser class: %s)r	   r
   r   r   r   loggerdebug)r   sql_analyser_classs     r   r   r   ,   sb    /!*	o	%/	_	$+OVV
 	
 LL02DEr   c                z     | |      }|j                  |       |j                  |j                  |j                  fS r   )analyseerrorsignoredwarnings)r#   sql_statementsexclude_migration_testssql_analysers       r   analyse_sql_statementsr,   ?   s<    
 &&=>L( 4 4l6K6KKKr   r   )r   strr   z
str | NonereturnType[BaseAnalyser])r   r-   r.   r/   )r   r-   r.   r/   )r#   r/   r)   z	list[str]r*   zIterable[str] | Noner.   z,tuple[list[Issue], list[Issue], list[Issue]])
__future__r   loggingtypingr   r   r   sql_analyser.baser   $django_migration_linter.sql_analyserr   r	   r
   r   	getLoggerr!   r   __annotations__r   r   r   r,    r   r   <module>r8      s    "  0 0'  
		4	5 $: 6  9=BB+5BB4, 59L*LL 2L 2	Lr   