
                             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S	KJr  SS
KJr  SSKJr   " S S\
R                   5      rg)z Command for spanner rows insert.    )absolute_import)division)unicode_literals)database_sessions)	databases)arg_parsers)base)resource_args)
write_util)	resourcesc                   .    \ rS rSrSr\S 5       rS rSrg)Insert   ax  Insert a row in a Cloud Spanner database.

## EXAMPLES

To insert a row with SingerId=1,SingName=abc in table Singers under
my-database and my-instance, run:

  $ {command} --table=Singers --database=my-database --instance=my-instance --data=SingerId=1,SingerName=abc

  $ {command} --table=Singers --database=my-database --instance=my-instance --flags-file=path/to/file.yaml
c                     [         R                  " U SS5        U R                  SS[        SS9  U R                  SSS[        R
                  " 5       S	S
9  g)zSee base class.zin which to insert a rowFz--tableTzThe Cloud Spanner table name.)requiredtypehelpz--datazCOLUMN_NAME=VALUEzThe column names and values for the row being added. For complicated input values, such as arrays, use the `--flags-file` flag. See $ gcloud topic flags-file for more information.)r   metavarr   r   N)r
   AddDatabaseResourceArgadd_argumentstrr   ArgDict)parsers    "lib/surface/spanner/rows/insert.pyArgsInsert.Args,   sj     ((1K).0
,	  .
 #  "D  E    c                 T   UR                   R                  R                  5       n[        R                  " U5      n[
        R                  R                  X1R                  5      n[
        R                  " XAR                  5      n[        R                  R                  XE5      n[        R                  " U5      n[        R                   R#                  UR$                  SS9n [        R&                  " X/5      [        R(                  " U5        $ ! [        R(                  " U5        f = f)z9This is what gets called when the user runs this command.z-spanner.projects.instances.databases.sessions)relative_name
collection)CONCEPTSdatabaseParser   GetDdlr   TableFromDdltableValidateArrayInputdatar   MutationFactoryr   Creater   REGISTRYParseRelativeNamenameCommitDelete)	selfargsdatabase_refddlr'   r)   mutationsession_namesessions	            r   Run
Insert.Run@   s     ==))//1L 

<
(C$$S**5E((		:D 0077DH %++L9L  22"''B 3 DG(%%gz:w'w's   "D D' N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r8   __static_attributes__r:   r   r   r   r      s"    
 E E&(r   r   N)r?   
__future__r   r   r   googlecloudsdk.api_lib.spannerr   r   googlecloudsdk.callioper   r	   "googlecloudsdk.command_lib.spannerr
   r   googlecloudsdk.corer   Commandr   r:   r   r   <module>rH      s8    ' &  ' < 4 / ( < 9 )8(T\\ 8(r   