U
    luf+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rd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-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
(  ZABORTZABSOLUTEZACCESSZACTIONZADDZADMINZAFTERZ	AGGREGATEALLZALSOZALTERZALWAYSZANALYSEZANALYZEANDANYARRAYZASASCZ
ASENSITIVEZ	ASSERTIONZ
ASSIGNMENTZ
ASYMMETRICATZATOMICZATTACHZ	ATTRIBUTEZAUTHORIZATIONZBACKWARDZBEFOREZBEGINZBETWEENZBIGINTBINARYZBITZBOOLEANZBOTHZBREADTHZBYCACHECALLZCALLEDZCASCADEZCASCADEDZCASEZCASTZCATALOGZCHAINZ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DOMAINZDOUBLEZDROPZEACHELSEZENABLEENCODING	ENCRYPTEDZ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FOREIGN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LEASTLEFTZLEVELZLIKEZLIMITZLISTENZLOADZLOCALZ	LOCALTIMEZLOCALTIMESTAMPZLOCATIONZLOCKLOCKEDZLOGGEDZMAPPINGMATCHZMATERIALIZEDZMAXVALUEZMETHODZMINUTEZMINVALUEZMODEZMONTHZMOVENAMEZNAMESZNATIONALZNATURALZNCHARZNEWZNEXTNFCZNFDNFKCZNFKDNONONEZ	NORMALIZEZ
NORMALIZEDZNOTZNOTHINGZNOTIFYZNOTNULLZNOWAITZ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PARALLEL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REVOKE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SIMILARZSIMPLEZSKIPZSMALLINTZSNAPSHOTZSOMEZSQLZSTABLEZ
STANDALONE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booleanZboxZbyteachar	characterzcharacter varyingZcidrZ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_snapshotZ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_handlerZtriggerZtsm_handlerunknown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 ScanZ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 UnionZ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)r]   DATATYPES_URLreaddecodelist
splitlinesparse_datatypesparse_pseudosKEYWORDS_URLparse_keywordsupdate_consts__file__)contentZ	data_fileZ	datatypesZpseudoskeywords rr   F/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/_postgres_builtins.pyupdate_myself  s    rt   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mrr   rr   rs   rm     s    rm   c              	   C   s   t  }| D ]}d|kr qd|k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|kr|qqS )]()split).0tmptrr   rr   rs   
<listcomp>  s
      z#parse_datatypes.<locals>.<listcomp>[, )	setrv   subr   stripaddjoinrh   r|   )r}   dtrJ   r   r   rr   rr   rs   rj     s"     rj   c                 C   s   g }t d}t d}t d}t| } | D ]}||d k	r. qNq.td| D ]8}||}|d k	rx||d ||d k	rR qqRtd|std|  |S )Nz*\s*<table id="datatype-pseudotypes-table">z$\s*<entry><type>(.+?)</type></entry>z\s*</table>z pseudo datatypes table not foundru   z'end of pseudo datatypes table not foundzpseudo datatypes not found)rv   compileitermatchr{   rx   ry   r|   )r}   r   Zre_startZre_entryZre_endrJ   r   rr   rr   rs   rk     s(    



rk   c              	   C   s   t | dd}| }W 5 Q R X td| tjtjB }||}|sTtd|f t||}|d |	  | ||
 d   }t | dddd}|| W 5 Q R X d S )Nr_   )encodingz^%s\s*=\s*\($.*?^\s*\)$z)Could not find existing definition for %sw
)r   newline)openrf   rv   r   MSsearchr{   r^   startendwrite)filenameZ	constnamerp   r}   datare_matchr   Z	new_blockrr   rr   rs   rn     s    

$rn   )__doc__rd   rb   rc   tuplesortedr   mapstrlowerZPLPGSQL_KEYWORDSZEXPLAIN_KEYWORDS__name__rv   urllib.requestr]   Zpygments.utilr^   Z
SOURCE_URLrl   re   rt   rm   rj   rk   rn   rr   rr   rr   rs   <module>   s,      O> 	5