o
    	ȷe0                     @   s   d Z dZdZdZeeeeeeej	e ZdZ
edkrQd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-2022 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__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 )Nz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__)content	data_file	datatypespseudoskeywords rC  Y/var/www/ideatree/venv/lib/python3.10/site-packages/pygments/lexers/_postgres_builtins.pyupdate_myselfJ  s   rE  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mrC  rC  rD  r;  W  s   r;  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trC  rC  rD  
<listcomp>s  s    
z#parse_datatypes.<locals>.<listcomp>[, )	setrG  subrT  stripaddjoinr6  rM  )rN  dtr  rV  rW  rC  rC  rD  r8  b  s$   r8  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 foundrF  z'end of pseudo datatypes table not foundzpseudo datatypes not found)rG  compileitermatchrL  rI  rJ  rM  )rN  ra  re_startre_entryre_endr  rP  rC  rC  rD  r9  ~  s,   



r9  c                 C   s   t | }| }W d    n1 sw   Y  td| tjtjB }||}|s2td|f t||}|d |	  | ||
 d   }t | ddd}|| W d    d S 1 saw   Y  d S )Nz^%s\s*=\s*\($.*?^\s*\)$z)Could not find existing definition for %sw
)newline)openr4  rG  rb  MSsearchrL  r-  startendwrite)filename	constnamer>  rN  datare_matchrP  	new_blockrC  rC  rD  r<    s   



$"r<  )__doc__r2  r0  r1  tuplesortedr\  mapstrlowerPLPGSQL_KEYWORDS__name__rG  urllib.requestr,  pygments.utilr-  
SOURCE_URLr:  r3  rE  r;  r8  r9  r<  rC  rC  rC  rD  <module>   s.       O> 
