o
    3Ih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.
(  ABORTABSOLUTEACCESSACTIONADDADMINAFTER	AGGREGATEALLALSOALTERALWAYSANALYSEANALYZEANDANYARRAYASASC
ASENSITIVE	ASSERTION
ASSIGNMENT
ASYMMETRICATATOMICATTACH	ATTRIBUTEAUTHORIZATIONBACKWARDBEFOREBEGINBETWEENBIGINTBINARYBITBOOLEANBOTHBREADTHBYCACHECALLCALLEDCASCADECASCADEDCASECASTCATALOGCHAINCHAR	CHARACTERCHARACTERISTICSCHECK
CHECKPOINTCLASSCLOSECLUSTERCOALESCECOLLATE	COLLATIONCOLUMNCOLUMNSCOMMENTCOMMENTSCOMMIT	COMMITTEDCOMPRESSIONCONCURRENTLYCONFIGURATIONCONFLICT
CONNECTION
CONSTRAINTCONSTRAINTSCONTENTCONTINUE
CONVERSIONCOPYCOSTCREATECROSSCSVCUBECURRENTCURRENT_CATALOGCURRENT_DATECURRENT_ROLECURRENT_SCHEMACURRENT_TIMECURRENT_TIMESTAMPCURRENT_USERCURSORCYCLEDATADATABASEDAY
DEALLOCATEDECDECIMALDECLAREDEFAULTDEFAULTS
DEFERRABLEDEFERREDDEFINERDELETE	DELIMITER
DELIMITERSDEPENDSDEPTHDESCDETACH
DICTIONARYDISABLEDISCARDDISTINCTDODOCUMENTDOMAINDOUBLEDROPEACHELSEENABLEENCODING	ENCRYPTEDENDENUMESCAPEEVENTEXCEPTEXCLUDE	EXCLUDING	EXCLUSIVEEXECUTEEXISTSEXPLAIN
EXPRESSION	EXTENSIONEXTERNALEXTRACTFALSEFAMILYFETCHFILTERFINALIZEFIRSTFLOAT	FOLLOWINGFORFORCEFOREIGNFORWARDFREEZEFROMFULLFUNCTION	FUNCTIONS	GENERATEDGLOBALGRANTGRANTEDGREATESTGROUPGROUPINGGROUPSHANDLERHAVINGHEADERHOLDHOURIDENTITYIFILIKE	IMMEDIATE	IMMUTABLEIMPLICITIMPORTININCLUDE	INCLUDING	INCREMENTINDEXINDEXESINHERITINHERITS	INITIALLYINLINEINNERINOUTINPUTINSENSITIVEINSERTINSTEADINTINTEGER	INTERSECTINTERVALINTOINVOKERISISNULL	ISOLATIONJOINKEYLABELLANGUAGELARGELASTLATERALLEADING	LEAKPROOFLEASTLEFTLEVELLIKELIMITLISTENLOADLOCAL	LOCALTIMELOCALTIMESTAMPLOCATIONLOCKLOCKEDLOGGEDMAPPINGMATCHMATERIALIZEDMAXVALUEMETHODMINUTEMINVALUEMODEMONTHMOVENAMENAMESNATIONALNATURALNCHARNEWNEXTNFCNFDNFKCNFKDNONONE	NORMALIZE
NORMALIZEDNOTNOTHINGNOTIFYNOTNULLNOWAITNULLNULLIFNULLSNUMERICOBJECTOFOFFOFFSETOIDSOLDONONLYOPERATOROPTIONOPTIONSORORDER
ORDINALITYOTHERSOUTOUTEROVEROVERLAPSOVERLAY
OVERRIDINGOWNEDOWNERPARALLELPARSERPARTIAL	PARTITIONPASSINGPASSWORDPLACINGPLANSPOLICYPOSITION	PRECEDING	PRECISIONPREPAREPREPAREDPRESERVEPRIMARYPRIOR
PRIVILEGES
PROCEDURAL	PROCEDURE
PROCEDURESPROGRAMPUBLICATIONQUOTERANGEREADREALREASSIGNRECHECK	RECURSIVEREF
REFERENCESREFERENCINGREFRESHREINDEXRELATIVERELEASERENAME
REPEATABLEREPLACEREPLICARESETRESTARTRESTRICTRETURN	RETURNINGRETURNSREVOKERIGHTROLEROLLBACKROLLUPROUTINEROUTINESROWROWSRULE	SAVEPOINTSCHEMASCHEMASSCROLLSEARCHSECONDSECURITYSELECTSEQUENCE	SEQUENCESSERIALIZABLESERVERSESSIONSESSION_USERSETSETOFSETSSHARESHOWSIMILARSIMPLESKIPSMALLINTSNAPSHOTSOMESQLSTABLE
STANDALONESTART	STATEMENT
STATISTICSSTDINSTDOUTSTORAGESTOREDSTRICTSTRIPSUBSCRIPTION	SUBSTRINGSUPPORT	SYMMETRICSYSIDSYSTEMTABLETABLESTABLESAMPLE
TABLESPACETEMPTEMPLATE	TEMPORARYTEXTTHENTIESTIME	TIMESTAMPTOTRAILINGTRANSACTION	TRANSFORMTREATTRIGGERTRIMTRUETRUNCATETRUSTEDTYPETYPESUESCAPE	UNBOUNDEDUNCOMMITTEDUNENCRYPTEDUNIONUNIQUEUNKNOWNUNLISTENUNLOGGEDUNTILUPDATEUSERUSINGVACUUMVALIDVALIDATE	VALIDATORVALUEVALUESVARCHARVARIADICVARYINGVERBOSEVERSIONVIEWVIEWSVOLATILEWHENWHERE
WHITESPACEWINDOWWITHWITHINWITHOUTWORKWRAPPERWRITEXMLXMLATTRIBUTES	XMLCONCAT
XMLELEMENT	XMLEXISTS	XMLFORESTXMLNAMESPACESXMLPARSEXMLPIXMLROOTXMLSERIALIZEXMLTABLEYEARYESZONE);bigint	bigserialbitzbit varyingboolbooleanboxbyteachar	characterzcharacter varyingcidrcircledatedecimalzdouble precisionfloat4float8inetintint2int4int8integerintervaljsonjsonblinelsegmacaddrmacaddr8moneynumericpathpg_lsnpg_snapshotpointpolygonrealserialserial2serial4serial8smallintsmallserialtexttime	timestamptimestamptztimetztsquerytsvectortxid_snapshotuuidvarbitvarcharzwith time zonezwithout time zonexml)anyanyarrayanycompatibleanycompatiblearrayanycompatiblemultirangeanycompatiblenonarrayanycompatiblerange
anyelementanyenumanymultirangeanynonarrayanyrangecstringevent_triggerfdw_handlerindex_am_handlerinternallanguage_handlerpg_ddl_commandrecordtable_am_handlertriggertsm_handlerunknownvoid)ALIASCONSTANTDIAGNOSTICSELSIF	EXCEPTIONEXITFOREACHGETLOOPNOTICEOPENPERFORMQUERYRAISErF  REVERSESQLSTATEWHILE)1	AggregateAppendzBitmap Heap ScanzBitmap Index Scan	BitmapAndBitmapOrzCTE ScanzCustom ScanDeletezForeign ScanzFunction ScanzGather MergeGatherGroupGroupAggregatez	Hash JoinHashHashAggregatezIncremental SortzIndex Only Scanz
Index ScanInsertLimitLockRowsMaterializeMemoizezMerge Appendz
Merge JoinMergeMixedAggregatezNamed Tuplestore ScanzNested Loop
ProjectSetzRecursive UnionResultzSample ScanzSeq ScanSetOpSortSubPlanzSubquery ScanzTable Function ScanzTid Range ScanzTid ScanUniqueUpdatezValues Scan	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)rE  DATATYPES_URLreaddecodelist
splitlinesparse_datatypesparse_pseudosKEYWORDS_URLparse_keywordsupdate_consts__file__)content	data_file	datatypespseudoskeywords r]  b/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/pygments/lexers/_postgres_builtins.pyupdate_myself  s   r_  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mr]  r]  r^  rU    s   rU  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tr]  r]  r^  
<listcomp>  s    
z#parse_datatypes.<locals>.<listcomp>[, )	setra  subrn  stripaddjoinrP  rg  )rh  dtr  rp  rq  r]  r]  r^  rR    s&   rR  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 foundr`  z'end of pseudo datatypes table not foundzpseudo datatypes not found)ra  compileitermatchrf  rc  rd  rg  )rh  r{  re_startre_entryre_endr  rj  r]  r]  r^  rS    s,   



rS  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 )	NrG  )encoding^z\s*=\s*\($.*?^\s*\)$z'Could not find existing definition for w
)r  newline)openrN  ra  r|  MSsearchrf  rF  startendwrite)filename	constnamerX  rh  datare_matchrj  	new_blockr]  r]  r^  rV    s   


$"rV  )__doc__rL  rJ  rK  tuplesortedrv  mapstrlowerPLPGSQL_KEYWORDSEXPLAIN_KEYWORDS__name__ra  urllib.requestrE  pygments.utilrF  
SOURCE_URLrT  rM  r_  rU  rR  rS  rV  r]  r]  r]  r^  <module>   s0       O> 	5
