7.3.19. database_unmap#

7.3.19.1. 概要#

バージョン 5.0.7 で追加.

database_unmap はデータベース中のすでにマップしてあるテーブルとカラムをアンマップします。「マップ」とはテーブルとカラムをディスクからロードしてメモリー上に展開することです。「アンマップ」とはマップしたメモリーを解放することです。

注釈

通常、 database_unmap を使う必要はありません。なぜなら、OSが賢くメモリーを管理してくれるからです。もし、システムの残メモリーが少なくなったら、OSはGroongaが使っているメモリーをディスクに退避します。退避したメモリーは必要になったらまたメモリーに戻します。OSは使っていないメモリーを優先して退避します。

注意

このコマンドは thread_limit1 を返すときしか使えません。つまり、マルチスレッド環境ではこのコマンドは動かないということです。

7.3.19.2. 構文#

このコマンドに引数はありません:

database_unmap

7.3.19.3. 使い方#

最大スレッド数を 1 に変更したあとならデータベースをアンマップできます。

実行例:

thread_limit --max 1
# [[0,1337566253.89858,0.000355720520019531],1]
database_unmap
# [[0,1337566253.89858,0.000355720520019531],true]

最大スレッド数が 1 より大きい場合は database_unmap は失敗します。

実行例:

thread_limit --max 2
# [[0,1337566253.89858,0.000355720520019531],1]
database_unmap
# [
#   [
#     -2,
#     1337566253.89858,
#     0.000355720520019531,
#     "[database_unmap] the max number of threads must be 1: <2>",
#     [
#       [
#         "proc_database_unmap",
#         "lib/proc.c",
#         4991
#       ]
#     ]
#   ],
#   false
# ]

7.3.19.4. 引数#

このセクションではすべての引数について説明します。

7.3.19.4.1. 必須引数#

必須の引数はありません。

7.3.19.4.2. 省略可能引数#

省略可能な引数はありません。

7.3.19.5. 戻り値#

このコマンドが成功したときは以下のようにボディは true になります:

[HEADER, true]

このコマンドが失敗すると、 HEADER にエラーの詳細が含まれます。

HEADER については 出力形式 を参照してください。