
    
                     n    d 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	 Zd
 Zd Zy)zSpanner database splits helper.    )absolute_import)division)unicode_literals)encoding)database_sessions)apis)	resourcesc                 B   t        j                  dd      }t        j                  dd      }|j                  | j	                               }|j                         |_        |r||j                  _        ||j                  _        |j                  j                  |      S )zAdd split points to a database.spannerv1)database)r   GetClientInstanceGetMessagesModule6SpannerProjectsInstancesDatabasesAddSplitPointsRequestRelativeNameAddSplitPointsRequestaddSplitPointsRequest	initiatorsplitPointsprojects_instances_databasesAddSplitPoints)database_refsplit_pointsinitiator_stringclientmsgsreqs         5lib/googlecloudsdk/api_lib/spanner/database_splits.pyr   r      s    !!)T2&				4	0$CC((* 	D 	# #88:#*:C'*6#'		,	,	;	;C	@@    c                 $   t        j                  | d      }t        j                  j	                  |j
                  d      }	 t        t        j                  dd|            t        j                  |       S # t        j                  |       w xY w)z/List the user added split points fo a database.Nz-spanner.projects.instances.databases.sessions)relative_name
collectionzcSELECT TABLE_NAME, INDEX_NAME, INITIATOR, SPLIT_KEY, EXPIRE_TIME FROM SPANNER_SYS.USER_SPLIT_POINTSNORMAL)	r   Creater	   REGISTRYParseRelativeNamename_TransformToSplitResult
ExecuteSqlDelete)r   session_namesessions      r   ListSplitPointsr-   ,   s     #)),=,00 %%@ 1 '
&"$$2		
 W%W%s   A8 8Bc                    | j                   D cg c]  }t        j                  |j                  d         t        j                  |j                  d         t        j                  |j                  d         t        j                  |j                  d         t        j                  |j                  d         d }}|S c c}w )z<Transform the result of the query to a list of split points.r               )
TABLE_NAME
INDEX_NAME	INITIATOR	SPLIT_KEYEXPIRE_TIME)rowsr   MessageToPyValueentry)resultrowr   s      r   r(   r(   B   s     	 # !11#))A,? 11#))A,?001>001>!22399Q<@   	 
	s   B/CN)__doc__
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.spannerr   googlecloudsdk.api_lib.utilr   googlecloudsdk.corer	   r   r-   r(    r   r   <module>rD      s/    & &  ' % < , )A"&,r   