o
    ;h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rSd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 dS )a#  
    pygments.lexers._postgres_builtins
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Self-updating data files for PostgreSQL lexer.

    Run with `python -I` to update itself.

    :copyright: Copyright 2006-2025 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ANYZARRAYZASZASCZ
ASENSITIVEZ	ASSERTIONZ
ASSIGNMENTZ
ASYMMETRICATZATOMICZATTACHZ	ATTRIBUTEZAUTHORIZATIONZBACKWARDZBEFOREZBEGINZBETWEENZBIGINTZBINARYZBITZBOOLEANZBOTHZBREADTHZBYZ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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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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	VALIDATOR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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 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)r_   DATATYPES_URLreaddecodelist
splitlinesparse_datatypesparse_pseudosKEYWORDS_URLparse_keywordsupdate_consts__file__)contentZ	data_fileZ	datatypesZpseudoskeywords rt   U/var/www/html/venv/lib/python3.10/site-packages/pygments/lexers/_postgres_builtins.pyupdate_myself  s   rv   c                 C   sB   g }t d| D ]}||d  q|std|  |S )NzPG_KEYWORD\("(.+?)"   zno keyword found)refinditerappendgroupupper
ValueErrorsort)fkwmrt   rt   ru   ro     s   ro   c              	   C   s   t  }| D ]A}d|v r n:d|vrqtdd|}tdd|}dd |dD D ]}|d	D ]}| }|s:q1|d
|  q1q*q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trt   rt   ru   
<listcomp>  s    
z#parse_datatypes.<locals>.<listcomp>[, )	setrx   subr   stripaddjoinrj   r~   )r   dtrH   r   r   rt   rt   ru   rl     s&   rl   c                 C   s   g }t d}t d}t d}t| } | D ]}||d ur" nqtd| D ]}||}|d ur<||d ||d urE nq)td|sPtd|  |S )Nz*\s*<table id="datatype-pseudotypes-table">z$\s*<entry><type>(.+?)</type></entry>z\s*</table>z pseudo datatypes table not foundrw   z'end of pseudo datatypes table not foundzpseudo datatypes not found)rx   compileitermatchr}   rz   r{   r~   )r   r   Zre_startZre_entryZre_endrH   r   rt   rt   ru   rm     s,   



rm   c                 C   s   t | dd}| }W d    n1 sw   Y  td| dtjtjB }||}|s6td| t||}|d |	  | ||
 d   }t | dddd}|| W d    d S 1 sfw   Y  d S )	Nra   )encoding^z\s*=\s*\($.*?^\s*\)$z'Could not find existing definition for w
)r   newline)openrh   rx   r   MSsearchr}   r`   startendwrite)filenameZ	constnamerr   r   dataZre_matchr   Z	new_blockrt   rt   ru   rp     s   


$"rp   )__doc__rf   rd   re   tuplesortedr   mapstrlowerZPLPGSQL_KEYWORDSZEXPLAIN_KEYWORDS__name__rx   urllib.requestr_   Zpygments.utilr`   Z
SOURCE_URLrn   rg   rv   ro   rl   rm   rp   rt   rt   rt   ru   <module>   s0       O> 	5
