
l2RTc          @   s  d  Z  dZ dZ dZ e e e e  e e e j	 e     Z d Z
 e dk r ddl Z y ddl m Z Wn! e k
 r ddl m Z n Xddl m Z dZ e dZ e dZ d  Z d  Z d  Z d  Z d  Z e   n  dS(  s   
    pygments.lexers._postgres_builtins
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Self-updating data files for PostgreSQL lexer.

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
t   ABORTt   ABSOLUTEt   ACCESSt   ACTIONt   ADDt   ADMINt   AFTERt	   AGGREGATEt   ALLt   ALSOt   ALTERt   ALWAYSt   ANALYSEt   ANALYZEt   ANDt   ANYt   ARRAYt   ASt   ASCt	   ASSERTIONt
   ASSIGNMENTt
   ASYMMETRICt   ATt	   ATTRIBUTEt   AUTHORIZATIONt   BACKWARDt   BEFOREt   BEGINt   BETWEENt   BIGINTt   BINARYt   BITt   BOOLEANt   BOTHt   BYt   CACHEt   CALLEDt   CASCADEt   CASCADEDt   CASEt   CASTt   CATALOGt   CHAINt   CHARt	   CHARACTERt   CHARACTERISTICSt   CHECKt
   CHECKPOINTt   CLASSt   CLOSEt   CLUSTERt   COALESCEt   COLLATEt	   COLLATIONt   COLUMNt   COMMENTt   COMMENTSt   COMMITt	   COMMITTEDt   CONCURRENTLYt   CONFIGURATIONt
   CONNECTIONt
   CONSTRAINTt   CONSTRAINTSt   CONTENTt   CONTINUEt
   CONVERSIONt   COPYt   COSTt   CREATEt   CROSSt   CSVt   CURRENTt   CURRENT_CATALOGt   CURRENT_DATEt   CURRENT_ROLEt   CURRENT_SCHEMAt   CURRENT_TIMEt   CURRENT_TIMESTAMPt   CURRENT_USERt   CURSORt   CYCLEt   DATAt   DATABASEt   DAYt
   DEALLOCATEt   DECt   DECIMALt   DECLAREt   DEFAULTt   DEFAULTSt
   DEFERRABLEt   DEFERREDt   DEFINERt   DELETEt	   DELIMITERt
   DELIMITERSt   DESCt
   DICTIONARYt   DISABLEt   DISCARDt   DISTINCTt   DOt   DOCUMENTt   DOMAINt   DOUBLEt   DROPt   EACHt   ELSEt   ENABLEt   ENCODINGt	   ENCRYPTEDt   ENDt   ENUMt   ESCAPEt   EVENTt   EXCEPTt   EXCLUDEt	   EXCLUDINGt	   EXCLUSIVEt   EXECUTEt   EXISTSt   EXPLAINt	   EXTENSIONt   EXTERNALt   EXTRACTt   FALSEt   FAMILYt   FETCHt   FILTERt   FIRSTt   FLOATt	   FOLLOWINGt   FORt   FORCEt   FOREIGNt   FORWARDt   FREEZEt   FROMt   FULLt   FUNCTIONt	   FUNCTIONSt   GLOBALt   GRANTt   GRANTEDt   GREATESTt   GROUPt   HANDLERt   HAVINGt   HEADERt   HOLDt   HOURt   IDENTITYt   IFt   ILIKEt	   IMMEDIATEt	   IMMUTABLEt   IMPLICITt   INt	   INCLUDINGt	   INCREMENTt   INDEXt   INDEXESt   INHERITt   INHERITSt	   INITIALLYt   INLINEt   INNERt   INOUTt   INPUTt   INSENSITIVEt   INSERTt   INSTEADt   INTt   INTEGERt	   INTERSECTt   INTERVALt   INTOt   INVOKERt   ISt   ISNULLt	   ISOLATIONt   JOINt   KEYt   LABELt   LANGUAGEt   LARGEt   LASTt   LATERALt
   LC_COLLATEt   LC_CTYPEt   LEADINGt	   LEAKPROOFt   LEASTt   LEFTt   LEVELt   LIKEt   LIMITt   LISTENt   LOADt   LOCALt	   LOCALTIMEt   LOCALTIMESTAMPt   LOCATIONt   LOCKt   MAPPINGt   MATCHt   MATERIALIZEDt   MAXVALUEt   MINUTEt   MINVALUEt   MODEt   MONTHt   MOVEt   NAMEt   NAMESt   NATIONALt   NATURALt   NCHARt   NEXTt   NOt   NONEt   NOTt   NOTHINGt   NOTIFYt   NOTNULLt   NOWAITt   NULLt   NULLIFt   NULLSt   NUMERICt   OBJECTt   OFt   OFFt   OFFSETt   OIDSt   ONt   ONLYt   OPERATORt   OPTIONt   OPTIONSt   ORt   ORDERt
   ORDINALITYt   OUTt   OUTERt   OVERt   OVERLAPSt   OVERLAYt   OWNEDt   OWNERt   PARSERt   PARTIALt	   PARTITIONt   PASSINGt   PASSWORDt   PLACINGt   PLANSt   POLICYt   POSITIONt	   PRECEDINGt	   PRECISIONt   PREPAREt   PREPAREDt   PRESERVEt   PRIMARYt   PRIORt
   PRIVILEGESt
   PROCEDURALt	   PROCEDUREt   PROGRAMt   QUOTEt   RANGEt   READt   REALt   REASSIGNt   RECHECKt	   RECURSIVEt   REFt
   REFERENCESt   REFRESHt   REINDEXt   RELATIVEt   RELEASEt   RENAMEt
   REPEATABLEt   REPLACEt   REPLICAt   RESETt   RESTARTt   RESTRICTt	   RETURNINGt   RETURNSt   REVOKEt   RIGHTt   ROLEt   ROLLBACKt   ROWt   ROWSt   RULEt	   SAVEPOINTt   SCHEMAt   SCROLLt   SEARCHt   SECONDt   SECURITYt   SELECTt   SEQUENCEt	   SEQUENCESt   SERIALIZABLEt   SERVERt   SESSIONt   SESSION_USERt   SETt   SETOFt   SHAREt   SHOWt   SIMILARt   SIMPLEt   SMALLINTt   SNAPSHOTt   SOMEt   STABLEt
   STANDALONEt   STARTt	   STATEMENTt
   STATISTICSt   STDINt   STDOUTt   STORAGEt   STRICTt   STRIPt	   SUBSTRINGt	   SYMMETRICt   SYSIDt   SYSTEMt   TABLEt   TABLESt
   TABLESPACEt   TEMPt   TEMPLATEt	   TEMPORARYt   TEXTt   THENt   TIMEt	   TIMESTAMPt   TOt   TRAILINGt   TRANSACTIONt   TREATt   TRIGGERt   TRIMt   TRUEt   TRUNCATEt   TRUSTEDt   TYPEt   TYPESt	   UNBOUNDEDt   UNCOMMITTEDt   UNENCRYPTEDt   UNIONt   UNIQUEt   UNKNOWNt   UNLISTENt   UNLOGGEDt   UNTILt   UPDATEt   USERt   USINGt   VACUUMt   VALIDt   VALIDATEt	   VALIDATORt   VALUEt   VALUESt   VARCHARt   VARIADICt   VARYINGt   VERBOSEt   VERSIONt   VIEWt   VIEWSt   VOLATILEt   WHENt   WHEREt
   WHITESPACEt   WINDOWt   WITHt   WITHINt   WITHOUTt   WORKt   WRAPPERt   WRITEt   XMLt   XMLATTRIBUTESt	   XMLCONCATt
   XMLELEMENTt	   XMLEXISTSt	   XMLFORESTt   XMLPARSEt   XMLPIt   XMLROOTt   XMLSERIALIZEt   YEARt   YESt   ZONEt   bigintt	   bigserialt   bits   bit varyingt   boolt   booleant   boxt   byteat   chart	   characters   character varyingt   cidrt   circlet   datet   decimals   double precisiont   float4t   float8t   inett   intt   int2t   int4t   int8t   integert   intervalt   jsont   jsonbt   linet   lsegt   macaddrt   moneyt   numerict   patht   pg_lsnt   pointt   polygont   realt   serialt   serial2t   serial4t   serial8t   smallintt   smallserialt   textt   timet	   timestampt   timestamptzt   timetzt   tsqueryt   tsvectort   txid_snapshott   uuidt   varbitt   varchars   with time zones   without time zonet   xmlt   anyt
   anyelementt   anyarrayt   anynonarrayt   anyenumt   anyranget   cstringt   internalt   language_handlert   fdw_handlert   recordt   triggert   voidt   opaquet   ALIASt   CONSTANTt   DIAGNOSTICSt   ELSIFt	   EXCEPTIONt   EXITt   FOREACHt   GETt   LOOPt   NOTICEt   OPENt   PERFORMt   QUERYt   RAISEt   RETURNt   REVERSEt   SQLSTATEt   WHILEt   __main__iN(   t   urlopen(   t   format_liness/   https://github.com/postgres/postgres/raw/masters   /doc/src/sgml/keywords.sgmls   /doc/src/sgml/datatype.sgmlc          C   sp   t  t t   }  t |   } t |   } t t t   } t t d |  t t d |  t t d |  d  S(   Nt	   DATATYPESt   PSEUDO_TYPESt   KEYWORDS(	   t   listR  t   DATATYPES_URLt   parse_datatypest   parse_pseudost   parse_keywordst   KEYWORDS_URLt   update_constst   __file__(   t	   data_filet	   datatypest   pseudost   keywords(    (    sF   /usr/lib/python2.7/dist-packages/pygments/lexers/_postgres_builtins.pyt   update_myself  s    c         C   sb   g  } x6 t  j d |  j    D] } | j | j d   q W| sT t d   n  | j   | S(   NsA   \s*<entry><token>([^<]+)</token></entry>\s*<entry>([^<]+)</entry>i   s   no keyword found(   t   ret   finditert   readt   appendt   groupt
   ValueErrort   sort(   t   ft   kwt   m(    (    sF   /usr/lib/python2.7/dist-packages/pygments/lexers/_postgres_builtins.pyR    s    	
c         C   s  t    } x |  D] } d | k r& Pn  d | k r8 q n  t j d d |  } t j d d |  } x g  | j d  D]. } | j d  D] } d | k r | ^ q qu D]T } xK | j d	  D]: } | j   } | s q n  | j d
 j | j     q Wq Wq Wt |  } | j   | S(   Ns   <sect1s   <entry><type>s    <replaceable>[^<]+</replaceable>t    s   <[^>]+>t   [t   ]t   (t   ,t    (	   t   setR  t   subt   splitt   stript   addt   joinR  R  (   R  t   dtR  t   tmpt   t(    (    sF   /usr/lib/python2.7/dist-packages/pygments/lexers/_postgres_builtins.pyR  #  s$    	2 (
c         C   s   g  } t  j d  } t  j d  } t  j d  } t |   }  x3 |  D] } | j |  d  k	 rF PqF qF Wt d   xg |  D]S } | j |  } | d  k	 r | j | j d   n  | j |  d  k	 r| Pq| q| Wt d   | s t d   n  | S(   Ns*   \s*<table id="datatype-pseudotypes-table">s"   \s*<entry><type>([^<]+)</></entry>s   \s*</table>s    pseudo datatypes table not foundi   s'   end of pseudo datatypes table not founds   pseudo datatypes not found(   R  t   compilet   itert   matcht   NoneR  R   R  (   R  R  t   re_startt   re_entryt   re_endR  R  (    (    sF   /usr/lib/python2.7/dist-packages/pygments/lexers/_postgres_builtins.pyR  ?  s&    c         C   s   t  |    } | j   } Wd  QXt j d | t j t j B } | j |  } | sl t d | f   n  t | |  } | | j	    | | | j
   } t  |  d   } | j |  Wd  QXd  S(   Ns   ^%s\s*=\s*\($.*?^\s*\)$s)   Could not find existing definition for %st   w(   t   openR  R  R  t   Mt   St   searchR  R  t   startt   endt   write(   t   filenamet	   constnamet   contentR  t   datat   re_matchR  t	   new_block(    (    sF   /usr/lib/python2.7/dist-packages/pygments/lexers/_postgres_builtins.pyR  [  s     "(  R    R   R   R   R   R   R   R   R   R	   R
   R   R   R   R   s   ANYR   R   R   R   R   R   s   ATR   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   RF   RG   RH   RI   RJ   RK   RL   RM   RN   RO   RP   RQ   RR   RS   RT   RU   RV   RW   RX   RY   RZ   R[   R\   R]   R^   R_   R`   Ra   Rb   Rc   Rd   Re   Rf   Rg   Rh   Ri   Rj   Rk   Rl   Rm   Rn   Ro   Rp   Rq   Rr   Rs   Rt   Ru   Rv   Rw   Rx   Ry   Rz   R{   R|   R}   R~   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   s   INR   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   s
   LC_COLLATEs   LC_CTYPER   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R  R  R  R  R  R	  R
  R  R  R  R  R  s   RANGER  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R   R!  R"  R#  R$  R%  R&  R'  R(  R)  R*  R+  R,  R-  R.  R/  R0  R1  R2  R3  R4  R5  R6  R7  R8  R9  R:  R;  R<  R=  R>  R?  R@  RA  RB  RC  RD  RE  RF  RG  s   STDOUTRI  RJ  RK  RL  RM  RN  RO  RP  RQ  RR  RS  s   TEMPLATERU  RV  RW  RX  RY  RZ  R[  R\  R]  R^  R_  R`  Ra  Rb  Rc  Rd  Re  Rf  Rg  Rh  Ri  Rj  Rk  Rl  Rm  Rn  Ro  Rp  Rq  Rr  Rs  Rt  Ru  Rv  Rw  Rx  Ry  s   VERBOSEs   VERSIONR|  R}  R~  R  R  s
   WHITESPACER  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  (9   R  R  R  s   bit varyings   boolR  R  R  s   charR  s   character varyingR  R  R  R  s   double precisionR  R  R  s   intR  R  R  R  R  R  R  s   lineR  R  R  R  s   pathR  R  R  s   reals   serialR  R  R  R  R  s   textR  s	   timestampR  R  R  R  R  R  R  R  s   with time zones   without time zoneR  (   s   anyR  R  R  R  R  R  R  R  R  s   recordR  s   voidR  (   R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  (   t   __doc__R  R  R  t   tuplet   sortedR  t   mapt   strt   lowert   PLPGSQL_KEYWORDSt   __name__R  t   urllibR  t   ImportErrort   urllib.requestt   pygments.utilR  t
   SOURCE_URLR  R  R  R  R  R  R  (    (    (    sF   /usr/lib/python2.7/dist-packages/pygments/lexers/_postgres_builtins.pyt   <module>
   s                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            .  

	
				