o
    ‡ÎÖa˜/  ã                   @   sÊ   d Z dZdZdZeeeeƒeeej	eƒƒ ƒƒZdZ
edkrcddlZzddlmZ W n ey9   ddlmZ Y nw 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 )z÷
    pygments.lexers._postgres_builtins
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Self-updating data files for PostgreSQL lexer.

    :copyright: Copyright 2006-2021 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Ú	ASSERTIONÚ
ASSIGNMENTÚ
ASYMMETRICÚATÚATTACHÚ	ATTRIBUTEÚAUTHORIZATIONÚBACKWARDÚBEFOREÚBEGINÚBETWEENÚBIGINTÚBINARYÚBITÚBOOLEANÚBOTHÚ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Ú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Ú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Ú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Ú	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ÚanycompatiblenonarrayÚanycompatiblerangeÚ
anyelementÚanyenumÚ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ÚRAISEÚRETURNÚ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© r;  úD/usr/lib/python3/dist-packages/pygments/lexers/_postgres_builtins.pyÚupdate_myselfC  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<  r3  P  s   r3  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>l  s    ÿ
ÿz#parse_datatypes.<locals>.<listcomp>ú[ú,ú )	Úsetr?  ÚsubrL  ÚstripÚaddÚjoinr.  rE  )rF  ÚdtrÛ  rN  rO  r;  r;  r<  r0  [  s$   ýþr0  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)r?  ÚcompileÚiterÚmatchrD  rA  rB  rE  )rF  rY  Úre_startÚre_entryÚre_endrÛ  rH  r;  r;  r<  r1  w  s,   


ÿ
ÿr1  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)Úopenr,  r?  rZ  ÚMÚSÚsearchrD  r%  ÚstartÚendÚwrite)ÚfilenameÚ	constnamer6  rF  ÚdataÚre_matchrH  Ú	new_blockr;  r;  r<  r4  ”  s   

ÿ
ÿ
$"ÿr4  )Ú__doc__r*  r(  r)  ÚtupleÚsortedrT  ÚmapÚstrÚlowerÚPLPGSQL_KEYWORDSÚ__name__r?  Úurllibr$  ÚImportErrorÚurllib.requestÚpygments.utilr%  Ú
SOURCE_URLr2  r+  r=  r3  r0  r1  r4  r;  r;  r;  r<  Ú<module>   s6       H> ÿ
�