1.2.1 - en to ja translation catalogue (56 entries)

en: Execution example::
ja: 実行例::

en: Summary
ja: 概要

en: ``reference_acquire`` acquires a reference of target objects.
ja: ``reference_acquire`` は対象オブジェクトの参照を1つ増やします。

en: This command is meaningless unless you use the reference count mode. You can enable the reference count mode by the ``GRN_ENABLE_REFERENCE_COUNT=yes`` environment variable.
ja: このコマンドはリファレンスカウントモードのとき以外は意味がありません。リファレンスカウントモードを有効にするには ``GRN_ENABLE_REFERENCE_COUNT=yes`` 環境変数を使います。

en: If you acquires a reference of an object, the object isn't closed automatically because you have at least one reference of the object. If you need to call multiple :doc:`load` in a short time, auto close by the reference count mode will degrade performance. You can avoid the performance degrading by calling ``reference_acquire`` before multiple :doc:`load` and calling :doc:`reference_release` after multiple :doc:`load`. Between ``reference_acquire`` and :doc:`reference_release`, auto close is disabled.
ja: オブジェクトの参照を1つ増やすとそのオブジェクトは自動的にクローズされません。なぜなら少なくとも1つそのオブジェクトの参照があるからです。短期間に複数の :doc:`load` を実行する場合、リファレンスカウントモードによる自動クローズは性能劣化を引き起こすでしょう。 ``reference_acquire`` を実行してから複数の :doc:`load` 実行し、 :doc:`load` の後に :doc:`reference_release` を実行するとこの性能劣化を避けることができます。 ``reference_acquire`` と :doc:`reference_release` の間は自動クローズが無効になります。

en: You must call :doc:`reference_release` after you finish performance impact operations. If you don't call :doc:`reference_release`, the reference count mode doesn't work.
ja: 性能に影響がある操作を実行したら :doc:`reference_release` を実行しなければいけません。 :doc:`reference_release` を実行しないとリファレンスカウントモードが動きません。

en: You can use :ref:`reference-acquire-auto-release-count` instead of calling :doc:`reference_release`. You can release acquired references automatically by :ref:`reference-acquire-auto-release-count`. But you need to tune suitable :ref:`reference-acquire-auto-release-count` value. If you specify too large number, auto close isn't triggered. If you specify too small number, auto close is triggered before performance impact operations are finished.
ja: :doc:`reference_release` を呼ぶ代わりに :ref:`reference-acquire-auto-release-count` を使うこともできます。 :ref:`reference-acquire-auto-release-count` を使うと増やした参照を自動で減らせます。しかし、適切な :ref:`reference-acquire-auto-release-count` を見つける必要があります。もし、大きすぎる数値を指定すると、自動クローズがなかなか動きません。もし、小さすぎる数値を指定すると、性能に影響がある操作が終わる前に自動クローズが動いてしまいます。

en: Syntax
ja: 構文

en: This command takes two parameters.
ja: このコマンドには2つの引数があります。

en: All parameters are optional::
ja: すべての引数は省略可能です::

en: Usage
ja: 使い方

en: You can acquire a reference of the all objects with no arguments:
ja: 引数無しで実行するとすべてのテーブル・カラムの参照を1つ増やすことができます。

en: If you know what should be referred, you can narrow targets.
ja: なにを参照するべきかわかっているなら対象を狭めることができます。

en: Here is a schema definition to show usage:
ja: 使い方を示すために使うスキーマ定義は以下の通りです。

en: If you want to call multiple :doc:`select` without any condition against ``Users`` table, the following command acquires a reference of ``Users``, ``Users.age`` and ``Users.introduction``:
ja: ``Users`` テーブルに対して条件なしの複数の :doc:`select` を実行するときは、次のコマンドで ``Users`` と ``Users.age`` と ``Users.introduction`` の参照を1つ増やします。

en: If you want to call multiple :doc:`select` with condition that uses indexes against ``Users`` table, the following command acquires a reference of ``Users``, ``Users.age``, ``Users.introduction``, ``Ages`` (lexicon) and ``Ages.user_age`` (index column). This command is suitable for :doc:`load` too:
ja: ``Users`` テーブルに対してインデックスを使う条件で複数の :doc:`select` を実行するときは、次のコマンドで ``Users`` と ``Users.age`` と ``Users.introduction`` と ``Ages`` （語彙表）と ``Ages.user_age`` （インデックスカラム）の参照を1つ増やせます。このコマンドは :doc:`load` を実行するときでも適切です。

en: If you want to just refer ``Users``, you can specify a table with ``recursive=no``:
ja: 単に ``Users`` の参照を1つ増やしたいだけなら、テーブルと ``recursive=no`` を指定します。

en: If you want to just refer ``Users.introduction``, you can specify a column:
ja: 単に ``Users.introduction`` の参照を1つ増やしたいだけなら、カラムを指定します。

en: You can release acquired references by calling :doc:`reference_release` with the same arguments:
ja: 同じ引数で :doc:`reference_release` を実行すると増やした参照を1つ減らせます。

en: Parameters
ja: 引数

en: This section describes all parameters.
ja: このセクションではすべての引数について説明します。

en: Required parameters
ja: 必須引数

en: There is no required parameter.
ja: 必須の引数はありません。

en: Optional parameters
ja: 省略可能引数

en: There are optional parameters.
ja: いくつか省略可能な引数があります。

en: Specifies a target object name. Target object is one of database, table or column.
ja: 対象オブジェクトの名前を指定します。対象オブジェクトはデータベース、テーブル、カラムのどれかです。

en: If you omit this parameter, database is the target object:
ja: このパラメーターを省略すると、データベースが対象オブジェクトになります。

en: If you specify a table name, the table is the target object:
ja: テーブル名を指定すると、そのテーブルが対象オブジェクトになります。

en: If you specify a column name, the column is the target object:
ja: カラム名を指定すると、そのカラムが対象オブジェクトになります。

en: Specifies whether child objects of the target object are also target objects.
ja: 書き出し対象オブジェクトの子オブジェクトも対象にするかどうかを指定します。

en: Child objects of database are all tables and all columns.
ja: データベースの子オブジェクトはすべてのテーブルとすべてのカラムです。

en: Child objects of table are all its columns.
ja: テーブルの子オブジェクトはそのテーブルのすべてのカラムです。

en: Child objects of column are nothing.
ja: カラムの子オブジェクトはありません。

en: ``recursive`` value must be ``yes``, ``no`` or ``dependent``. ``yes`` means that all of the specified target object and child objects are the target objects. ``no`` means that only the specified target object is the target object. ``dependent`` means that all of the specified target object, child objects, corresponding table of index column and corresponding index column are the target objects.
ja: ``recursive`` の値は ``yes`` または ``no`` もしくは ``dependent`` でなければいけません。 ``yes`` は指定した対象オブジェクトとその子オブジェクトすべてを対象オブジェクトにするという意味です。 ``no`` は指定した対象オブジェクトのみを対象オブジェクトにするという意味です。``dependent`` は指定した対象オブジェクトとその子オブジェクトすべて、参照先のテーブル、インデックスが張られているカラムがある場合、対応するインデックスカラムとそのインデックスカラムのテーブルを対象オブジェクトにするという意味です。

en: The following ``reference_acquire`` acquires a reference of all tables and all columns:
ja: 次の ``reference_acquire`` はデータベースとすべてのテーブルとすべてのカラムの参照を1つ増やします。

en: The following ``reference_acquire`` acquires a reference of only ``Users`` table:
ja: 次の ``reference_acquire`` は ``Users`` テーブルだけの参照を1つ増やします。

en: If you specify other value (not ``yes`` neither ``no``) or omit ``recursive`` parameter, ``yes`` is used.
ja: 他の値（つまり、 ``yes`` でも ``no`` でもない値）を指定した場合、または ``recursive`` パラメーターを指定しない場合は ``yes`` が使われます。

en: ``yes`` is used in the following case because invalid ``recursive`` argument is specified:
ja: ``recursive`` 引数の値が不正なので、次のケースでは ``yes`` が使われます。

en: ``yes`` is used in the following case because ``recursive`` parameter isn't specified:
ja: ``recursive`` パラメーターが指定されていないので、次のケースでは ``yes`` が使われます。

en: ``dependent`` acquires a reference of not only the target object and the child objects but also related objects. The related objects are:
ja: ``dependent`` は対象オブジェクトとその子オブジェクトの参照を1つ増やすだけではなく、関連するオブジェクトの参照も1つ増やします。関連するオブジェクトは次のとおりです。

en: A referenced table
ja: 参照されているテーブル

en: Data columns of referenced tables
ja: 参照されているテーブルのデータカラム

en: A related index column (There is source column in target ``TABLE_NAME``)
ja: 関連するインデックスカラム(対象の ``TABLE_NAME`` にソースカラムがある)

en: A table of related index column (There is source column in target ``TABLE_NAME``)
ja: 関連するインデックスカラムのテーブル(対象の ``TABLE_NAME`` にソースカラムがある)

en: Data columns of tables of related index columns
ja: 関連するインデックスカラムのテーブルのデータカラム

en: It is useful to keep reference for :doc:`load` and :doc:`select`.
ja: これは :doc:`load` と :doc:`select` 用に参照を維持するために便利です。

en: If you want to call multiple :doc:`load` for ``Users`` table, you can use the following command:
ja: ``Users`` テーブルに対して複数の :doc:`load` を実行するときは、次のコマンドを使います。

en: You can release acquired references automatically by ``auto_release_count``.
ja: ``auto_release_count`` を使うと増やした参照を自動で減らせます。

en: If ``auto_release_count`` is 1 or greater, acquired references are automatically after the following ``auto_release_count`` commands are processed. You must not call corresponding :doc:`reference_release` when you use ``auto_release_count``.
ja: ``auto_release_count`` が1以上の場合、後続する ``auto_release_count`` 個のコマンドを実行した後に増やした参照を自動的に減らします。 ``auto_release_count`` を使った場合は対応する :doc:`reference_release` を呼んではいけません。

en: In the following example, the acquired reference of ``Users`` is released automatically after the second ``status`` is processed::
ja: 以下の例では、増やした ``Users`` の参照を2つ目の ``status`` を実行した後に自動的に減らします。

en: The same :ref:`reference-acquire-recursive` is used when acquired references are released automatically. You don't need to care about :ref:`reference-acquire-recursive`.
ja: 増やした参照を自動的に減らすときは、同じ :ref:`reference-acquire-recursive` を使います。 :ref:`reference-acquire-recursive` のことを気にする必要はありません。

en: ``auto_release_count`` is safe with :doc:`table_remove`, :doc:`column_remove` and :doc:`database_unmap`. If one of them are called, registered auto release hook is removed internally.
ja: ``auto_release_count`` は :doc:`table_remove` ・ :doc:`column_remove` ・ :doc:`database_unmap` と一緒に使っても安全です。これらのうちどれかのコマンドが呼ばれた場合は、登録されている自動で参照を減らす処理は内部的に削除されます。

en: Return value
ja: 戻り値

en: The command returns ``true`` as body on success such as::
ja: このコマンドが成功したときは以下のようにボディは ``true`` になります::

en: If the command fails, error details are in ``HEADER``.
ja: このコマンドが失敗すると、 ``HEADER`` にエラーの詳細が含まれます。

en: See :doc:`/reference/command/output_format` for ``HEADER``.
ja: ``HEADER`` については :doc:`/reference/command/output_format` を参照してください。
