1.2.1 - en to ja translation catalogue (27 entries)

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

en: Alias
ja: エイリアス

en: You can refer a table and column by multiple names by using alias feature.
ja: エイリアス機能を使うと複数の名前で1つのテーブル・カラムを参照できます。

en: Summary
ja: 概要

en: The alias feature is useful for the following cases:
ja: このエイリアス機能は次のケースで有用です。

en: You want to rename a table but you can't change some Groonga clients that uses the current table name.
ja: テーブルをリネームしたいが現在のテーブル名を使っているGroongaクライアントがいてそれらは変更できない。

en: You want to change column type without downtime.
ja: ダウンタイムなしでカラムの型を変更したい。

en: In the former case, some Groonga clients can use the current table name after you rename a table. Because the alias feature maps the current table name to the renamed new table name.
ja: 前者のケースでは、テーブルをリネームした後も既存のGroongaクライアントは現在のテーブル名（リネーム前のテーブル名）でアクセスできます。なぜなら、エイリアス機能は現在のテーブル名を新しいリネーム後のテーブル名に対応づけるからです。

en: In the latter case, all Groonga clients access the column by aliased name such as ``aliased_column``. ``aliased_column`` refers ``current_column``. You create a new column ``new_column`` with new type and copy data from ``current_column`` by :doc:`/reference/commands/column_copy`. You change ``aliased_column`` to refer ``new_column`` from ``current_column``. Now, all Groonga clients access ``new_column`` by ``aliased_column`` without stopping search requests.
ja: 後者のケースでは、前提として、すべてのGroongaクライアントは ``aliased_column`` のようなエイリアスされた名前でアクセスするようにしておきます。 ``aliased_column`` は ``current_column`` （現在のテーブル）を参照するようにします。この状態で、 ``new_column`` という新しいカラムを新しい型で作成し、 :doc:`/reference/commands/column_copy` を使ってそのカラムに ``current_column`` からデータをコピーします。その後、 ``aliased_column`` の参照先を ``current_column`` から ``new_column`` に変更します。これですべてのGroongaクライアントは ``aliased_column`` で ``new_column`` を参照するようになります。検索リクエストを止める必要はありません。

en: Usage
ja: 使い方

en: You manage alias to real name mapping by a normal table and a normal column.
ja: エイリアスと実際の名前の対応は通常のテーブルとカラムで管理します。

en: You can use any table type except :ref:`table-no-key` for the table. :ref:`table-hash-key` is recommended because exact key match search is only used for the alias feature. :ref:`table-hash-key` is the fastest table type for exact key match search.
ja: エイリアス管理テーブルには :ref:`table-no-key` 以外であればどの種類でも使えます。オススメは :ref:`table-hash-key` です。なぜなら、エイリアス機能ではキーの完全一致検索しか使わないからです。キーの完全一致検索が一番速いのは :ref:`table-hash-key` です。

en: The column must be :doc:`/reference/columns/scalar` and type is ``ShortText``. You can also use ``Text`` and ``LongText`` types but they are meaningless. Because the max table/column name size is 4KiB. ``ShortText`` can store 4KiB data.
ja: カラムは、種類を :doc:`/reference/columns/scalar` 、型を ``ShortText`` にします。 ``Text`` または ``LongText`` 型も使えますが、意味がありません。なぜなら、テーブル・カラム名の最大サイズは4KiBだからです。 ``ShortText`` は4KiBのデータを格納できます。

en: Here are example definitions of table and column for managing aliases:
ja: 以下はエイリアス管理用のテーブル・カラムの定義例です。

en: You need to register the table and column by :doc:`configuration`. The alias feature uses ``alias.column`` configuration item. You can register the table and column by the following :doc:`/reference/commands/config_set`:
ja: :doc:`configuration` を使ってこのテーブルとカラムを登録する必要があります。エイリアス機能は設定項目 ``alias.column`` を使います。次のように :doc:`/reference/commands/config_set` を使ってこのテーブルとカラムを登録します。

en: Here are schema and data to show how to use alias:
ja: エイリアスの使い方を示すためのスキーマとデータは次の通りです。

en: You can use ``Users.age`` in :doc:`/reference/commands/select`:
ja: :doc:`/reference/commands/select` で ``Users.age`` を使えます。

en: You can't use ``Users.age`` when you rename ``Users.age`` to ``Users.years`` by :doc:`/reference/commands/column_rename`:
ja: :doc:`/reference/commands/column_rename` で ``Users.age`` を ``Users.years`` にリネームすると ``Users.age`` にはアクセスできなくなります。

en: But you can use ``Users.age`` by registering ``Users.age`` to ``Users.years`` mapping to ``Aliases``.
ja: ``Aliases`` テーブルに ``Users.age`` から ``Users.years`` の対応を追加すると ``Users.age`` を使うことができます。

en: Now, you can use ``Users.age`` as alias of ``Users.years``.
ja: これで、 ``Users.years`` のエイリアスとして ``Users.age`` を使うことができます。

en: How to resolve alias
ja: エイリアスの解決方法

en: This section describes how to resolve alias.
ja: このセクションではエイリアスの解決方法について説明します。

en: Groonga uses the alias feature when nonexistent object name (table name, column name, command name, function name and so on) is referred. It means that you can't override existing object (table, column, command, function and so on) by the alias feature.
ja: Groongaは存在しない名前（テーブル名、カラム名、コマンド名、関数名など）が参照されたときにエイリアス機能を使います。エイリアス機能で既存のオブジェクト（テーブル、カラム、コマンド、関数など）を置き換えることはできません。

en: For example, alias isn't resolved in the following example because ``Users.years`` exists:
ja: たとえば、以下の例ではエイリアスは解決されません。なぜなら ``Users.years`` が存在するからです。

en: Alias is resolved recursively. If you rename ``Users.years`` to ``Users.years_old`` and you refer ``Users.age``, Groonga replaces ``Users.age`` with ``Users.years`` and then ``Users.years`` with ``Users.years_old``. Because ``Aliases`` table has the following records:
ja: Groongaはエイリアスを再帰的に解決します。 ``Users.years`` を ``Users.years_old`` にリネームし、 ``Users.age`` を参照したとします。Groongaは ``Users.age`` を ``Users.years`` に置き換え、その後、 ``Users.years`` を ``Users.years_old`` に置き換えます。なぜなら、 ``Aliases`` テーブルには次のレコードがあるからです。

en: Here is an example to ``Users.age`` is resolved recursively:
ja: 以下は ``Users.age`` が再帰的に解決される例です。

en: See also
ja: 参考
