a
    ñ»j"4  ã                   @   s¦   d Z dZdZdZeeeeƒeeej	eƒƒ ƒƒZdZ
dZedkr¢ddlZdd	lmZ dd
lmZ dZed Zed Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zeƒ  dS )a&  
    pygments.lexers._postgres_builtins
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Self-updating data files for PostgreSQL lexer.

    Run with `python -I` to update itself.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
(É  ZABORTZABSOLUTEZACCESSZACTIONZADDZADMINZAFTERZ	AGGREGATEZALLZALSOZALTERZALWAYSZANALYSEZANALYZEÚANDÚANYÚARRAYZASZASCZ
ASENSITIVEZ	ASSERTIONZ
ASSIGNMENTZ
ASYMMETRICÚATZATOMICZATTACHZ	ATTRIBUTEZAUTHORIZATIONZBACKWARDZBEFOREZBEGINZBETWEENZBIGINTÚBINARYZBITÚBOOLEANZBOTHZBREADTHZBYZCACHEÚCALLZCALLEDZCASCADEZCASCADEDZCASEZCASTZCATALOGZCHAINÚCHARZ	CHARACTERZCHARACTERISTICSZCHECKÚ
CHECKPOINTZCLASSZCLOSEZCLUSTERZCOALESCEZCOLLATEZ	COLLATIONZCOLUMNÚCOLUMNSÚCOMMENTZCOMMENTSZCOMMITZ	COMMITTEDZCOMPRESSIONZCONCURRENTLYZCONFIGURATIONÚCONFLICTZ
CONNECTIONZ
CONSTRAINTZCONSTRAINTSZCONTENTÚCONTINUEZ
CONVERSIONÚCOPYZCOSTZCREATEZCROSSZCSVZCUBEZCURRENTZCURRENT_CATALOGZCURRENT_DATEZCURRENT_ROLEZCURRENT_SCHEMAZCURRENT_TIMEZCURRENT_TIMESTAMPZCURRENT_USERZCURSORZCYCLEZDATAZDATABASEZDAYZ
DEALLOCATEZDECZDECIMALZDECLAREÚDEFAULTZDEFAULTSZ
DEFERRABLEZDEFERREDZDEFINERÚDELETEZ	DELIMITERZ
DELIMITERSZDEPENDSZDEPTHZDESCZDETACHZ
DICTIONARYZDISABLEZDISCARDZDISTINCTZDOZDOCUMENTZDOMAINÚDOUBLEZDROPZEACHÚELSEZENABLEÚENCODINGÚ	ENCRYPTEDÚENDZENUMÚESCAPEZEVENTZEXCEPTZEXCLUDEZ	EXCLUDINGZ	EXCLUSIVEZEXECUTEZEXISTSZEXPLAINZ
EXPRESSIONZ	EXTENSIONZEXTERNALZEXTRACTÚFALSEZFAMILYZFETCHZFILTERZFINALIZEZFIRSTÚFLOATZ	FOLLOWINGZFORZFORCEZFOREIGNZFORWARDZFREEZEZFROMZFULLZFUNCTIONZ	FUNCTIONSZ	GENERATEDÚGLOBALZGRANTZGRANTEDZGREATESTZGROUPZGROUPINGZGROUPSZHANDLERZHAVINGÚHEADERZHOLDZHOURZIDENTITYZIFZILIKEZ	IMMEDIATEZ	IMMUTABLEZIMPLICITZIMPORTÚINZINCLUDEZ	INCLUDINGZ	INCREMENTZINDEXZINDEXESZINHERITZINHERITSZ	INITIALLYZINLINEZINNERZINOUTZINPUTZINSENSITIVEZINSERTZINSTEADÚINTZINTEGERZ	INTERSECTZINTERVALZINTOZINVOKERZISZISNULLZ	ISOLATIONZJOINZKEYZLABELÚLANGUAGEZLARGEZLASTZLATERALZLEADINGZ	LEAKPROOFZLEASTZLEFTZLEVELZLIKEZLIMITZLISTENZLOADZLOCALZ	LOCALTIMEZLOCALTIMESTAMPZLOCATIONZLOCKÚLOCKEDZLOGGEDZMAPPINGZMATCHZMATERIALIZEDZMAXVALUEZMETHODZMINUTEZMINVALUEZMODEZMONTHZMOVEÚNAMEZNAMESZNATIONALZNATURALZNCHARZNEWZNEXTÚNFCZNFDÚNFKCZNFKDÚNOÚNONEZ	NORMALIZEZ
NORMALIZEDÚNOTZNOTHINGZNOTIFYZNOTNULLZNOWAITÚNULLZNULLIFZNULLSZNUMERICZOBJECTZOFZOFFZOFFSETZOIDSZOLDÚONZONLYZOPERATORZOPTIONÚOPTIONSÚORZORDERZ
ORDINALITYZOTHERSZOUTZOUTERZOVERZOVERLAPSZOVERLAYZ
OVERRIDINGZOWNEDZOWNERZPARALLELZPARSERÚPARTIALZ	PARTITIONZPASSINGZPASSWORDZPLACINGZPLANSZPOLICYZPOSITIONZ	PRECEDINGZ	PRECISIONZPREPAREZPREPAREDZPRESERVEZPRIMARYZPRIORZ
PRIVILEGESZ
PROCEDURALZ	PROCEDUREZ
PROCEDURESZPROGRAMZPUBLICATIONZQUOTEÚRANGEÚREADZREALZREASSIGNZRECHECKZ	RECURSIVEZREFZ
REFERENCESZREFERENCINGZREFRESHZREINDEXZRELATIVEZRELEASEZRENAMEZ
REPEATABLEZREPLACEZREPLICAÚRESETZRESTARTZRESTRICTÚRETURNZ	RETURNINGZRETURNSZREVOKEZRIGHTZROLEZROLLBACKZROLLUPZROUTINEZROUTINESZROWZROWSZRULEZ	SAVEPOINTZSCHEMAZSCHEMASZSCROLLZSEARCHZSECONDZSECURITYZSELECTZSEQUENCEZ	SEQUENCESZSERIALIZABLEZSERVERZSESSIONZSESSION_USERZSETZSETOFZSETSZSHAREZSHOWZSIMILARÚSIMPLEZSKIPZSMALLINTZSNAPSHOTZSOMEÚSQLZSTABLEZ
STANDALONEZSTARTZ	STATEMENTZ
STATISTICSZSTDINÚSTDOUTZSTORAGEZSTOREDZSTRICTZSTRIPZSUBSCRIPTIONZ	SUBSTRINGZSUPPORTZ	SYMMETRICZSYSIDZSYSTEMZTABLEZTABLESZTABLESAMPLEZ
TABLESPACEÚTEMPÚTEMPLATEÚ	TEMPORARYZTEXTZTHENZTIESZTIMEÚ	TIMESTAMPZTOZTRAILINGZTRANSACTIONZ	TRANSFORMZTREATZTRIGGERZTRIMÚTRUEZTRUNCATEZTRUSTEDZTYPEÚTYPESZUESCAPEZ	UNBOUNDEDZUNCOMMITTEDZUNENCRYPTEDZUNIONZUNIQUEÚUNKNOWNZUNLISTENZUNLOGGEDZUNTILZUPDATEÚUSERZUSINGZVACUUMZVALIDZVALIDATEZ	VALIDATORZVALUEZVALUESZVARCHARZVARIADICZVARYINGÚVERBOSEÚVERSIONZVIEWZVIEWSZVOLATILEZWHENZWHEREÚ
WHITESPACEZWINDOWZWITHZWITHINZWITHOUTZWORKZWRAPPERÚWRITEÚXMLZXMLATTRIBUTESZ	XMLCONCATZ
XMLELEMENTZ	XMLEXISTSZ	XMLFORESTZXMLNAMESPACESZXMLPARSEZXMLPIZXMLROOTZXMLSERIALIZEZXMLTABLEZYEARZYESZZONE);ZbigintZ	bigserialÚbitzbit varyingÚboolÚbooleanÚboxZbyteaÚcharÚ	characterzcharacter varyingZcidrÚcircleÚdateÚdecimalzdouble precisionZfloat4Zfloat8ZinetÚintZint2Zint4Zint8ÚintegerÚintervalÚjsonZjsonbÚlineZlsegZmacaddrZmacaddr8ZmoneyÚnumericÚpathZpg_lsnZpg_snapshotÚpointZpolygonÚrealÚserialZserial2Zserial4Zserial8ZsmallintZsmallserialÚtextÚtimeÚ	timestampZtimestamptzÚtimetzZtsqueryZtsvectorZtxid_snapshotÚuuidZvarbitZvarcharzwith time zonezwithout time zoneÚxml)ÚanyZanyarrayZanycompatibleZanycompatiblearrayZanycompatiblemultirangeZanycompatiblenonarrayZanycompatiblerangeZ
anyelementZanyenumZanymultirangeZanynonarrayZanyrangeZcstringZevent_triggerZfdw_handlerZindex_am_handlerZinternalZlanguage_handlerZpg_ddl_commandÚrecordZtable_am_handlerÚtriggerZtsm_handlerÚunknownZvoid)ZALIASZCONSTANTZDIAGNOSTICSZELSIFZ	EXCEPTIONZEXITZFOREACHÚGETZLOOPZNOTICEZOPENZPERFORMZQUERYZRAISEr-   ZREVERSEZSQLSTATEZWHILE)1Z	AggregateZAppendzBitmap Heap ScanzBitmap Index ScanZ	BitmapAndZBitmapOrzCTE ScanzCustom ScanÚDeletezForeign ScanzFunction ScanzGather MergeZGatherÚGroupZGroupAggregatez	Hash JoinZHashZHashAggregatezIncremental SortzIndex Only Scanz
Index ScanZInsertZLimitZLockRowsZMaterializeZMemoizezMerge Appendz
Merge JoinZMergeZMixedAggregatezNamed Tuplestore ScanzNested LoopZ
ProjectSetzRecursive UnionÚResultzSample ScanzSeq ScanZSetOpZSortZSubPlanzSubquery ScanzTable Function ScanzTid Range ScanzTid ScanZUniqueZUpdatezValues ScanZ	WindowAggzWorkTable ScanÚ__main__é    N)Úurlopen)Úformat_linesz/https://github.com/postgres/postgres/raw/masterz/src/include/parser/kwlist.hz/doc/src/sgml/datatype.sgmlc                  C   sx   t tƒ ¡ jddd�} t|  ¡ ƒ}t|ƒ}t|ƒ}t tƒ ¡ jddd�} t	| ƒ}t
td|ƒ t
td|ƒ t
td|ƒ d S )Núutf-8Úignore)ÚerrorsÚ	DATATYPESÚPSEUDO_TYPESÚKEYWORDS)ra   ÚDATATYPES_URLÚreadÚdecodeÚlistÚ
splitlinesÚparse_datatypesÚparse_pseudosÚKEYWORDS_URLÚparse_keywordsÚupdate_constsÚ__file__)ÚcontentZ	data_fileZ	datatypesZpseudosÚkeywords© rv   úHE:\soccer\ml_env\Lib\site-packages\pygments/lexers/_postgres_builtins.pyÚupdate_myself�  s    rx   c                 C   sB   g }t  d| ¡D ]}| | d¡ ¡ ¡ q|s6tdƒ‚| ¡  |S )NzPG_KEYWORD\("(.+?)"é   zno keyword found)ÚreÚfinditerÚappendÚgroupÚupperÚ
ValueErrorÚsort)ÚfÚkwÚmrv   rv   rw   rq   Ž  s    rq   c              	   C   s¢   t ƒ }| D ]‚}d|v r qŽd|vr$q
t dd|¡}t dd|¡}dd„ | d¡D ƒD ]6}| d	¡D ]&}| ¡ }|stqb| d
 | ¡ ¡¡ qbqTq
t|ƒ}| ¡  |S )Nz<sect1z<entry><type>z <replaceable>[^<]+</replaceable>Ú z<[^>]+>c                 S   s(   g | ] }|  d ¡D ]}d|vr|‘qqS )ú]ú()Úsplit)Ú.0ÚtmpÚtrv   rv   rw   Ú
<listcomp>ª  s   ÿz#parse_datatypes.<locals>.<listcomp>ú[ú,ú )	Úsetrz   Úsubr‡   ÚstripÚaddÚjoinrl   r€   )r�   ÚdtrK   r‰   rŠ   rv   rv   rw   rn   ™  s"    rn   c                 C   s¬   g }t  d¡}t  d¡}t  d¡}t| ƒ} | D ]}| |¡d ur. qNq.tdƒ‚| D ]8}| |¡}|d urx| | d¡¡ | |¡d urR q”qRtdƒ‚|s tdƒ‚| ¡  |S )Nz*\s*<table id="datatype-pseudotypes-table">z$\s*<entry><type>(.+?)</type></entry>z\s*</table>z pseudo datatypes table not foundry   z'end of pseudo datatypes table not foundzpseudo datatypes not found)rz   ÚcompileÚiterÚmatchr   r|   r}   r€   )r�   r”   Zre_startZre_entryZre_endrK   rƒ   rv   rv   rw   ro   ¶  s(    



ro   c                 C   sØ   t | dd��}| ¡ }W d   ƒ n1 s*0    Y  t d|› d�tjtjB ¡}| |¡}|sltd|› �ƒ‚t||ƒ}|d | 	¡ … | || 
¡ d …  }t | dddd��}| |¡ W d   ƒ n1 sÊ0    Y  d S )	Nrc   )Úencodingú^z\s*=\s*\($.*?^\s*\)$z'Could not find existing definition for ÚwÚ
)r˜   Únewline)Úopenrj   rz   r•   ÚMÚSÚsearchr   rb   ÚstartÚendÚwrite)ÚfilenameZ	constnamert   r�   ÚdataZre_matchrƒ   Z	new_blockrv   rv   rw   rr   Ó  s    &

$rr   )Ú__doc__rh   rf   rg   ÚtupleÚsortedr�   ÚmapÚstrÚlowerZPLPGSQL_KEYWORDSZEXPLAIN_KEYWORDSÚ__name__rz   Úurllib.requestra   Zpygments.utilrb   Z
SOURCE_URLrp   ri   rx   rq   rn   ro   rr   rv   rv   rv   rw   Ú<module>   s,      O> 	5