3
6ba                @   s^  d dl Z d dlmZ dd Zddejjjfdejjjfdejjfd	ejjfd
ejfdej	fdej
fdejfdejfdejfdejfdejfdejjfdejjfdejjfdejfdejfdejfdejfdejfdejjfdejjfdejjfdejjfdejjfdejjfd ejfd!ejfd"ejfd#ejfd$ejfd%ejjfd&ejjfd'efd(ejfd)ejjfd*ejfg%iZe je jB Zd+d, ed D Zejejejejejejejejejejejejejejejejejejjejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejjejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejj!ejejejejejejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejjejejjejjejjejjejjejjd-Z"ejj ejj ejj ejj ejj ejj ejjejjejjejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd.'Z#ejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejejd/UZ$ejejejejejejejejejejd0
Z%dS )1    N)tokensc             C   s8   | j  }tj|p2tj|p2tj|p2tj|tj| fS )N)upperKEYWORDS_COMMONgetKEYWORDS_ORACLEKEYWORDS_PLPGSQLKEYWORDSr   Name)valueval r   P/var/www/html/sandeepIITI/myenv/lib/python3.6/site-packages/sqlparse/keywords.py
is_keyword   s
    


r   rootz(--|# )\+.*?(\r\n|\r|\n|$)z/\*\+[\s\S]*?\*/z(--|# ).*?(\r\n|\r|\n|$)z/\*[\s\S]*?\*/z(\r\n|\r|\n)z\s+z:=z::z\*z`(``|[^`])*`u   ´(´´|[^´])*´u#   (\$(?:[_A-ZÀ-Ü]\w*)?\$)[\s\S]*?\1z\?z%(\(\w+\))?sz(?<!\w)[$:?]\w+z(CASE|IN|VALUES|USING)\bu   (@|##|#)[A-ZÀ-Ü]\w+u   [A-ZÀ-Ü]\w*(?=\s*\.)u   (?<=\.)[A-ZÀ-Ü]\w*u   [A-ZÀ-Ü]\w*(?=\()z-?0x[\dA-F]+z-?\d*(\.\d+)?E-?\d+z-?(\d+(\.\d*)|\.\d+)u   -?\d+(?![_A-ZÀ-Ü])z'(''|\\\\|\\'|[^'])*'z(""|".*?[^\\]")z(?<![\w\])])(\[[^\]]+\])z[((LEFT\s+|RIGHT\s+|FULL\s+)?(INNER\s+|OUTER\s+|STRAIGHT\s+)?|(CROSS\s+|NATURAL\s+)?)?JOIN\bzEND(\s+IF|\s+LOOP|\s+WHILE)?\bzNOT\s+NULL\bzUNION\s+ALL\bzCREATE(\s+OR\s+REPLACE)?\bzDOUBLE\s+PRECISION\bu   [0-9_A-ZÀ-Ü][_$#\w]*z[;:()\[\],\.]z[<>=~!]+z[+/@#%^&|`?^-]+c             C   s"   g | ]\}}t j|tj|fqS r   )recompileFLAGSmatch).0rxttr   r   r   
<listcomp>X   s    r   (  ZABORTZABSZABSOLUTEZACCESSZADAZADDZADMINZAFTERZ	AGGREGATEZALIASALLZALLOCATEZANALYSEZANALYZEANYZARRAYLENZAREASCZ
ASENSITIVEZ	ASSERTIONZ
ASSIGNMENTZ
ASYMMETRICATZATOMICZAUDITZAUTHORIZATIONZAUTO_INCREMENTZAVGZBACKWARDZBEFOREZBEGINZBETWEENZBITVARZ
BIT_LENGTHZBOTHZBREADTHCACHECALLZCALLEDZCARDINALITYZCASCADEZCASCADEDZCASTZCATALOGZCATALOG_NAMEZCHAINZCHARACTERISTICSZCHARACTER_LENGTHZCHARACTER_SET_CATALOGZCHARACTER_SET_NAMEZCHARACTER_SET_SCHEMAZCHAR_LENGTHCHARSETZCHECKZCHECKED
CHECKPOINTZCLASSZCLASS_ORIGINZCLOBZCLOSEZCLUSTERZCOALESCEZCOBOLZCOLLATEZ	COLLATIONZCOLLATION_CATALOGZCOLLATION_NAMEZCOLLATION_SCHEMAZCOLLECTZCOLUMNZCOLUMN_NAMEZCOMPRESSZCOMMAND_FUNCTIONZCOMMAND_FUNCTION_CODECOMMENTZCOMMITZ	COMMITTEDZ
COMPLETIONZCONCURRENTLYZCONDITION_NUMBERZCONNECTZ
CONNECTIONZCONNECTION_NAMEZ
CONSTRAINTZCONSTRAINTSZCONSTRAINT_CATALOGZCONSTRAINT_NAMEZCONSTRAINT_SCHEMAZCONSTRUCTORZCONTAINSCONTINUEZ
CONVERSIONZCONVERTCOPYZCORRESPONTINGZCOUNTZCREATEDBZ
CREATEUSERZCROSSZCUBEZCURRENTZCURRENT_DATEZCURRENT_PATHZCURRENT_ROLEZCURRENT_TIMEZCURRENT_TIMESTAMPZCURRENT_USERZCURSORZCURSOR_NAMEZCYCLEZDATAZDATABASEZDATETIME_INTERVAL_CODEZDATETIME_INTERVAL_PRECISIONZDAYZ
DEALLOCATEZDECLAREDEFAULTZDEFAULTSZ
DEFERRABLEZDEFERREDZDEFINEDZDEFINERZ	DELIMITERZ
DELIMITERSZDEREFZDESCZDESCRIBEZ
DESCRIPTORZDESTROYZ
DESTRUCTORZDETERMINISTICZDIAGNOSTICSZ
DICTIONARYZDISABLEZ
DISCONNECTZDISPATCHZDOZDOMAINZDYNAMICZDYNAMIC_FUNCTIONZDYNAMIC_FUNCTION_CODEZEACHZENABLEENCODING	ENCRYPTEDzEND-EXECZENGINEZEQUALSESCAPEZEVERYZEXCEPTZ	EXCEPTIONZ	EXCLUDINGZ	EXCLUSIVEZEXECZEXECUTEZEXISTINGZEXISTSZEXTERNALZEXTRACTFALSEZFETCHFILEZFINALZFIRSTZFORCEZFOREACHZFOREIGNZFORTRANFORWARDFOUNDZFREEZFREEZEFULLZFUNCTIONZGENERALZ	GENERATEDGETGLOBALZGOZGOTOZGRANTZGRANTEDZGROUPINGZHANDLERZHAVINGZ	HIERARCHYZHOLDZHOSTZ
IDENTIFIEDZIDENTITYZIGNOREZILIKEZ	IMMEDIATEZ	IMMUTABLEZIMPLEMENTATIONZIMPLICITZ	INCLUDINGZ	INCREMENTZINDEXZ
INDITCATORZINFIXZINHERITSZINITIALZ
INITIALIZEZ	INITIALLYZINOUTZINPUTZINSENSITIVEZINSTANTIABLEZINSTEADZ	INTERSECTZINTOZINVOKERZISZISNULLZ	ISOLATIONZITERATEZKEYZ
KEY_MEMBERZKEY_TYPEZLANCOMPILERLANGUAGEZLARGEZLASTZLATERALZLEADINGZLENGTHLESSZLEVELZLIMITZLISTENZLOADZLOCALZ	LOCALTIMEZLOCALTIMESTAMPZLOCATIONZLOCATORZLOCKZLOWERZMAPMATCHZ
MAXEXTENTSZMAXVALUEMESSAGE_LENGTHZMESSAGE_OCTET_LENGTHZMESSAGE_TEXTZMETHODZMINUTEMINUSZMINVALUEZMODZMODEZMODIFIESZMODIFYZMONTHZMOREZMOVEZMUMPSZNAMESZNATIONALZNATURALZNCHARZNCLOBZNEWZNEXTNOZNOAUDITZ
NOCOMPRESSZ
NOCREATEDBZNOCREATEUSERNONEZNOTZNOTFOUNDZNOTHINGZNOTIFYZNOTNULLZNOWAITZNULLZNULLABLEZNULLIFZOBJECTZOCTET_LENGTHZOFZOFFZOFFLINEZOFFSETZOIDSZOLDZONLINEZONLYZOPENZ	OPERATIONZOPERATORZOPTIONOPTIONSZ
ORDINALITYZOUTZOUTPUTZOVERLAPSZOVERLAYZ
OVERRIDINGZOWNERZPADZ	PARAMETERZ
PARAMETERSZPARAMETER_MODEZPARAMATER_NAMEZPARAMATER_ORDINAL_POSITIONZPARAMETER_SPECIFIC_CATALOGZPARAMETER_SPECIFIC_NAMEZPARAMATER_SPECIFIC_SCHEMAPARTIALZPASCALZPCTFREEZPENDANTZPLACINGZPLIZPOSITIONZPOSTFIXZ	PRECISIONPREFIXZPREORDERZPREPAREZPRESERVEZPRIMARYZPRIORZ
PRIVILEGESZ
PROCEDURALZ	PROCEDUREZPUBLICZRAISEZRAWREADZREADSZRECHECKZ	RECURSIVEZREFZ
REFERENCESZREFERENCINGZREINDEXZRELATIVEZRENAMEZ
REPEATABLERESETZRESOURCEZRESTARTZRESTRICTZRESULTZRETURNZRETURNED_LENGTHZRETURNED_OCTET_LENGTHZRETURNED_SQLSTATEZ	RETURNINGZRETURNSZREVOKERIGHTZROLEZROLLBACKZROLLUPZROUTINEZROUTINE_CATALOGZROUTINE_NAMEZROUTINE_SCHEMAZROWZROWSZ	ROW_COUNTZRULEZ
SAVE_POINTZSCALEZSCHEMAZSCHEMA_NAMEZSCOPEZSCROLLZSEARCHZSECONDZSECURITYZSELFZ	SENSITIVEZSEQUENCEZSERIALIZABLEZSERVER_NAMEZSESSIONZSESSION_USERZSETOFZSETSZSHAREZSHOWZSIMILARZSIMPLEZSIZEZSOMEZSOURCESPACEZSPECIFICZSPECIFICTYPEZSPECIFIC_NAMEZSQLZSQLBUFZSQLCODEZSQLERRORZSQLEXCEPTIONZSQLSTATEZ
SQLWARNINGZSTABLESTARTZ	STATEMENTZSTATICZ
STATISTICSZSTDINSTDOUTZSTORAGEZSTRICTZ	STRUCTUREZSTYPEZSUBCLASS_ORIGINZSUBLISTZ	SUBSTRINGZ
SUCCESSFULZSUMZ	SYMMETRICZSYNONYMZSYSIDZSYSTEMZSYSTEM_USERZTABLEZ
TABLE_NAMETEMPTEMPLATE	TEMPORARYZ	TERMINATEZTHANZ	TIMESTAMPZTIMEZONE_HOURZTIMEZONE_MINUTEZTOZTOASTZTRAILINGZ
TRANSATIONZTRANSACTIONS_COMMITTEDZTRANSACTIONS_ROLLED_BACKZTRANSATION_ACTIVEZ	TRANSFORMZ
TRANSFORMSZ	TRANSLATEZTRANSLATIONZTREATZTRIGGERZTRIGGER_CATALOGZTRIGGER_NAMEZTRIGGER_SCHEMAZTRIMTRUEZTRUNCATEZTRUSTEDZTYPEZUIDZUNCOMMITTEDZUNDERZUNENCRYPTEDZUNIONZUNIQUEUNKNOWNZUNLISTENZUNNAMEDZUNNESTZUNTILZUPPERUSAGEZUSEUSERZUSER_DEFINED_TYPE_CATALOGZUSER_DEFINED_TYPE_NAMEZUSER_DEFINED_TYPE_SCHEMAZUSINGZVACUUMZVALIDZVALIDATEZ	VALIDATORZVALUESVARIABLEVERBOSEVERSIONZVIEWZVOLATILEZWHENEVERZWITHZWITHOUTZWORKWRITEZYEARZZONEARRAYZBIGINTBINARYZBITZBLOBZBOOLEANZCHARZ	CHARACTERZDATEZDECZDECIMALFLOATINTZINT8ZINTEGERZINTERVALLONGNUMBERZNUMERICZREALZROWIDZROWLABELZROWNUMZSERIALZSERIAL8ZSIGNEDZSMALLINTZSYSDATEZTEXTZTINYINTZUNSIGNEDZVARCHARZVARCHAR2ZVARYING)'ZSELECTZINSERTDELETEZUPDATEZREPLACEZMERGEZDROPZCREATEZALTERZWHEREZFROMZINNERZJOINZSTRAIGHT_JOINANDORZLIKEONINZSETZBYZGROUPZORDERLEFTZOUTERr+   ZIFZENDZTHENLOOPZASELSEFORZWHILEZCASEZWHENZMINMAXZDISTINCT)UZARCHIVEZ
ARCHIVELOGZBACKUPZBECOMEZBLOCKZBODYZCANCELZCHANGEZCOMPILEZCONTENTSZCONTROLFILEZDATAFILEZDBAZDISMOUNTZDOUBLEZDUMPZEVENTSZ
EXCEPTIONSZEXPLAINZEXTENTZ
EXTERNALLYZFLUSHZFREELISTZ	FREELISTSZ	INDICATORZINITRANSZINSTANCEZLAYERZLINKZLISTSZLOGFILEZMANAGEZMANUALZMAXDATAFILESZMAXINSTANCESZMAXLOGFILESZMAXLOGHISTORYZMAXLOGMEMBERSZMAXTRANSZ
MINEXTENTSMODULEZMOUNTZNOARCHIVELOGZNOCACHEZNOCYCLEZ
NOMAXVALUEZ
NOMINVALUEZNOORDERZNORESETLOGSNORMALZNOSORTZOPTIMALZOWNZPACKAGEZPARALLELZPCTINCREASEZPCTUSEDZPLANZPRIVATEZPROFILEZQUOTAZRECOVERZ	RESETLOGSZ
RESTRICTEDZREUSEZROLESZ	SAVEPOINTZSCNZSECTIONZSEGMENTZSHAREDZSNAPSHOTZSORTZSTATEMENT_IDSTOPZSWITCHZTABLESZ
TABLESPACEZTHREADZTIMEZTRACINGZTRANSACTIONZTRIGGERSZ	UNLIMITEDZUNLOCK)
Z	PARTITIONZOVERZPERFORMZNOTICEZPLPGSQLZINHERITZINDEXESrW   rS   rU   )&r   Zsqlparser   r   CommentSingleZHintZ	MultilineZNewline
WhitespaceZ
AssignmentZPunctuationZWildcardr	   LiteralZPlaceholderKeywordNumberZHexadecimalZFloatZIntegerStringZSymbolZDDLZBuiltinOperatorZ
ComparisonZ	SQL_REGEX
IGNORECASEUNICODEr   ZOrderZDMLZCTEr   r   r   r   r   r   r   r   <module>   s  	















