3
=h                 @   s   d d Z dS )c          	   C   s  d}| d dkr|S | d dkr$|S | d dkrF|d| d  d7 }n&| d d	krh|d
| d  d7 }n|S |d7 }| d dkr|d| d  d7 }n | d dkr|d| d  d7 }d}d3}xp| d D ]d}|d7 }d| |d krd}P d4}x:|d D ].}|d7 }d| d| |d k rd}P  qW qW |r|dt | d d d  d7 }| d dkr|djdd | d D d 7 }n.| d d	kr|djdd | d D d 7 }|d7 }n
|d7 }x| d D ]}| d dkr*|d |d  d!|d" d d# sd$|d" d d%  d nd& d7 }n<| d d	krf|d |d  d'd(jd)d |d" D  d*7 }d}x0|d D ]$}|d+|d  d,|d-  d7 }qtW |d.|d	d5  d0 7 }qW |d1d6 d2 }|S )7zF
	INPUT:
		dd: subpartition data dict
	RERURN:
		ddl: subpartion ddl
	 partition_type         z/*!50100 PARTITION BY RANGE (partition_expression_utf8)   z/*!50100 PARTITION BY LIST (
subpartition_typezSUBPARTITION BY HASH (subpartition_expression_utf8zSUBPARTITION BY KEY (T
partitionspnameFZsubpartitionsspz
SUBPARTITIONS     z
(z,
c             S   sH   g | ]@}d |d  d|d d d s<d|d d d  d nd	 qS )
z
PARTITION r   z VALUES LESS THAN valuesr   	max_value(
value_utf8r   MAXVALUE ).0xr   r   C/root/work/ibd2sql-ibd2sql-v2.x/ibd2sql/innodb_page/subpartition.py
<listcomp>)   s    z!SUB_PARTITION.<locals>.<listcomp>c          	   S   s6   g | ].}d |d  ddj dd |d D  dqS )z
PARTITION r   z VALUES IN (,c             S   s   g | ]}|d  qS )r   r   )r   Z_xr   r   r   r   +   s    z,SUB_PARTITION.<locals>.<listcomp>.<listcomp>r   r   )join)r   r   r   r   r   r   +   s    z */z(
z    PARTITION z VALUES LESS THAN r   r   r   r   r   z VALUES in (r   c             S   s   g | ]}|d  qS )r   r   )r   r   r   r   r   r   3   s    z)
z        SUBPARTITION z
 ENGINE = enginez	        (   z),
Nz)*/r   r    )lenr   )ddddlZISAUTOZpnr   Zspnr   Z_ddlr   r   r   SUB_PARTITION   s^     " F.$r$   N)r$   r   r   r   r   <module>   s    