
    
                     n    S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJr  S	 rS
 rS rg)zSpanner database splits helper.    )absolute_import)division)unicode_literals)encoding)database_sessions)apis)	resourcesc                 F   [         R                  " SS5      n[         R                  " SS5      nUR                  U R	                  5       S9nUR                  5       Ul        U(       a  X%R                  l        XR                  l        UR                  R                  U5      $ )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:#*:'*6'		,	,	;	;C	@@    c                 &   [         R                  " U S5      n[        R                  R	                  UR
                  SS9n [        [         R                  " SSU5      5      [         R                  " U5        $ ! [         R                  " U5        f = f)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                    U R                    Vs/ s H  n[        R                  " UR                  S   5      [        R                  " UR                  S   5      [        R                  " UR                  S   5      [        R                  " UR                  S   5      [        R                  " UR                  S   5      S.PM     nnU$ s  snf )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   B7C
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   