%PDF- %PDF-
Direktori : /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/ |
Current File : //opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/reflection.pyc |
� ��4]c @ s� d d l Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d e f d � � YZ e j d e f d � � Y� Z d d d d d f Z e d � Z d � Z d S( i����Ni ( t _EnumeratedValues( t SET( t DATETIME( t TIME( t TIMESTAMPi ( t log( t types( t utilt ReflectedStatec B s e Z d Z d � Z RS( s; Stores raw information about a SHOW CREATE TABLE statement.c C s: g | _ i | _ d | _ g | _ g | _ g | _ d S( N( t columnst table_optionst Nonet table_namet keyst fk_constraintst ck_constraints( t self( ( sW /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/reflection.pyt __init__ s ( t __name__t __module__t __doc__R ( ( ( sW /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/reflection.pyR s t MySQLTableDefinitionParserc B s� e Z d Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d Z d � Z d � Z d � Z RS( s4 Parses the results of a SHOW CREATE TABLE statement.c C s | | _ | | _ | j � d S( N( t dialectt preparert _prep_regexes( R R R ( ( sW /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/reflection.pyR $ s c C sM t � } | | _ x4t j d | � D] } | j d | j j � rW | j | | � q% | j d � ry | j | | � q% | d k r� q% | j d � r� | j | | � q% | s� q% | j | � \ } } | d k r� t j d | � q% | d k r| j j | � q% | d k r&| j j | � q% | d k r% | j j | � q% q% W| S( Ns \r?\ns s ) t )s CREATE s Unknown schema content: %rt keyt fk_constraintt ck_constraint( R t charsett ret splitt startswithR t initial_quotet _parse_columnt _parse_table_optionst _parse_table_namet _parse_constraintsR R t warnR t appendR R ( R t show_createR t statet linet type_t spec( ( sW /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/reflection.pyt parse) s0 c C s� | j j | � } | r� | j � } | j | d � | d <| d r� | j j | d � } | r� | j � d r� | j � d | d <q� n | d r� | j j | d � d | d <n d | f S| j j | � } | rd| j � } | j j | d � | d <g | j | d � D] } | d ^ q| d <g | j | d � D] } | d ^ q@| d <d | f S| j j | � } | r�| j � } d | f S| j j | � } | r�d | f Sd | f S( sa Parse a KEY or CONSTRAINT line. :param line: A line of SHOW CREATE TABLE output R t version_sqlt parseri R t tablet localt foreignR R t partitionN( t _re_keyt matcht groupdictt _parse_keyexprst _re_key_version_sqlR t unformat_identifierst _re_fk_constraintt _re_ck_constraintt _re_partitionR ( R R* t mR, t m2t c( ( sW /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/reflection.pyR% I s8 .. c C sC | j \ } } | j | � } | r? | | j d � � | _ n d S( sZ Extract the table name. :param line: The first line of SHOW CREATE TABLE t nameN( t _pr_nameR5 t groupR ( R R* R) t regext cleanupR= ( ( sW /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/reflection.pyR$ { s c C s i } | s� | d k r n� | } x� | j D]} \ } } | j | � } | sT q- n | j d � | j d � } } | r� | | � } n | | | j � <| j d | � } q- Wx d D] } | j | d � q� Wx7 | j � D]) \ } } | | j d | j j | f <q� Wd S( s� Build a dictionary of all reflected table-level options. :param line: The final line of SHOW CREATE TABLE output. R t directivet valt t auto_increments data directorys index directorys %s_%sN( RH s data directorys index directory( t _pr_optionst searchRB t lowert subt popR t itemsR R R@ ( R R* R) t optionst rest_of_lineRC RD R= RE t valuet nopet optRF ( ( sW /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/mysql/reflection.pyR# � s"