.. -*- rst -*-

.. highlightlang:: none

add
===

名前
----

add - 一件のレコードの追加

書式
----
::

 add table [key [columns [values [output_columns]]]]

説明
----

**未実装です**

groonga組込コマンドの一つであるaddについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。

addは、使用しているデータベースのテーブルに１件のレコードを登録し、カラムの値を更新し、更新したカラムの値を返却します。

引数
----

``table``

  レコードを追加しようとするテーブルの名前を指定します。

``key``

  登録するレコードの主キー値を指定します。主キーなしのテーブルの場合はこのパラメータを指定する必要はなく、指定された場合は無視されます。

``columns``

  テーブルに登録するレコードに値を設定するカラム名のリストを指定します。

``values``

  登録するレコードの値を表現した文字列を渡します。

  以下のいずれかの形式が使用できます。

  ``形式1``
    [カラム値1, カラム値2,..]

  ``形式2``
    {カラム名1: カラム値1, カラム名2: カラム値2}

  形式1の[カラム名1, カラム名2,..]の要素はcolumns引数が省略された場合のみ有効です。

``output_columns``

  出力するカラム名のリストをカンマ(',')区切りで指定します。

返値
---

以下のようなjson形式で値が返却されます。

::

 [[リターンコード, 処理開始時間, 処理時間], 新規追加、[カラム値1, ...]]

``リターンコード``

  grn_rcに対応する数値が返されます。0(GRN_SUCCESS)以外の場合は、続いてエラー内容を示す
  文字列が返されます。

``処理開始時間``

  処理を開始した時間について、1970年1月1日0時0分0秒を起点とした秒数を小数で返します。

``処理時間``

  処理にかかった秒数を返します。

``新規追加``

  レコードが追加されたかどうかを判定する。

``カラム値n``

  output_columnsで指定されたカラムの値。

例
--

テーブルEntryにレコードを登録します。::

 add Entry abandon body 放棄する

 [[0,1268208665.67547,0.045],true,[]]

関連項目
--------

:doc:`load`

