o
    EQdp                     @   s   d dl mZ d dl mZ ddlmZ dZdd Zeejdd	 Z	eej
d
d Zeejdd Zeejdd Zeejdd Zeejdd ZdS )    )render)	renderers   )
operationsz    c                 C   s   |  ddS )N'z\')replace)x r	   `/var/www/Datamplify/venv/lib/python3.10/site-packages/clickhouse_sqlalchemy/alembic/renderers.pyescape	   s   r   c              	         dd  fdd|j D D }d}dt d }|jt |j|t|j	d|t|j
 	ddt d	d
 |D tdS )Nc                 S      g | ]}|r|qS r	   r	   .0colr	   r	   r
   
<listcomp>       z*render_create_mat_view.<locals>.<listcomp>c                       g | ]}t | qS r	   r   _render_columnr   autogen_contextr	   r
   r          zj{prefix}create_mat_view(
{indent}'{name}',
{indent}'{selectable}',
{indent}'{engine}',
{indent}{columns}
)'
r   
,
c                 s       | ]}t |V  qd S Nstrr   argr	   r	   r
   	<genexpr>&       z)render_create_mat_view.<locals>.<genexpr>prefixname
selectableenginecolumnsindentr)   r*   formatr   _alembic_autogenerate_prefixr&   joinr   r'   splitr(   stripr   opr)   templjoin_indentr	   r   r
   render_create_mat_view       
		r5   c                 C      t | d |j d S )Nzdrop_mat_view('')r   r-   r&   r   r2   r	   r	   r
   render_drop_mat_view+      r;   c                 C   s@   d}dt  d }|jt| |j|t|jd|j	t dS )Nzd{prefix}create_mat_view_to_table(
{indent}'{name}',
{indent}'{selectable}',
{indent}'{inner_name}'
)r   r   r   )r%   r&   r'   
inner_namer*   )
r*   r,   r   r-   r&   r.   r   r'   r/   r=   )r   r2   r3   r4   r	   r	   r
   render_create_mat_view_to_table3   s   r>   c                 C   r7   )Nzdrop_mat_view_to_table('r8   r9   r:   r	   r	   r
   render_drop_mat_view_to_tableG   r<   r?   c              	      r   )Nc                 S   r   r	   r	   r   r	   r	   r
   r   Q   r   z*render_attach_mat_view.<locals>.<listcomp>c                    r   r	   r   r   r   r	   r
   r   S   r   zj{prefix}attach_mat_view(
{indent}'{name}',
{indent}'{selectable}',
{indent}'{engine}',
{indent}{columns}
)r   r   r   r   c                 s   r   r   r   r    r	   r	   r
   r"   h   r#   z)render_attach_mat_view.<locals>.<genexpr>r$   r+   r1   r	   r   r
   render_attach_mat_viewO   r6   r@   c                 C   r7   )Nzdetach_mat_view('r8   r9   r:   r	   r	   r
   render_detach_mat_viewm   r<   rA   N)alembic.autogenerater   r    r   r*   r   dispatch_forCreateMatViewOpr5   DropMatViewOpr;   CreateMatViewToTableOpr>   DropMatViewToTableOpr?   AttachMatViewOpr@   DetachMatViewOprA   r	   r	   r	   r
   <module>   s"    










