7.3.43. object_list
#
7.3.43.1. 概要#
Added in version 6.0.7.
object_list
はデータベース内のオブジェクトの一覧を返します。オブジェクトの情報はデータベース内のメタデータから取得します。 object_list
はオブジェクトの実体を開きません。そのため、 object_list
は多くのテーブル・カラムがあるデータベースに対しても軽い処理のコマンドです。
通常、 object_list
より schema の方が便利なコマンドです。なぜなら、 schema は object_list
より多くの情報を返すからです。
7.3.43.2. 構文#
このコマンドに引数はありません:
object_list
7.3.43.3. 使い方#
以下は出力例を示すためのサンプルスキーマです。
実行例:
table_create Memos TABLE_HASH_KEY ShortText
# [[0,1337566253.89858,0.000355720520019531],true]
column_create Memos content COLUMN_SCALAR Text
# [[0,1337566253.89858,0.000355720520019531],true]
table_create Terms TABLE_PAT_KEY ShortText \
--default_tokenizer TokenBigram \
--normalizer NormalizerAuto
# [[0,1337566253.89858,0.000355720520019531],true]
column_create Terms memos_content_index \
COLUMN_INDEX|WITH_POSITION \
Memos content
# [[0,1337566253.89858,0.000355720520019531],true]
このデータベースに対する object_list
コマンドの出力は次の通りです。
実行例:
object_list
# [
# [
# 0,
# 1337566253.89858,
# 0.000355720520019531
# ],
# {
# "Object": {
# "id": 2,
# "name": "Object",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 0,
# "names": "KEY_UINT"
# },
# "path": null,
# "size": 8
# },
# "Bool": {
# "id": 3,
# "name": "Bool",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 0,
# "names": "KEY_UINT"
# },
# "path": null,
# "size": 1
# },
# "Int8": {
# "id": 4,
# "name": "Int8",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 8,
# "names": "KEY_INT"
# },
# "path": null,
# "size": 1
# },
# "UInt8": {
# "id": 5,
# "name": "UInt8",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 0,
# "names": "KEY_UINT"
# },
# "path": null,
# "size": 1
# },
# "Int16": {
# "id": 6,
# "name": "Int16",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 8,
# "names": "KEY_INT"
# },
# "path": null,
# "size": 2
# },
# "UInt16": {
# "id": 7,
# "name": "UInt16",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 0,
# "names": "KEY_UINT"
# },
# "path": null,
# "size": 2
# },
# "Int32": {
# "id": 8,
# "name": "Int32",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 8,
# "names": "KEY_INT"
# },
# "path": null,
# "size": 4
# },
# "UInt32": {
# "id": 9,
# "name": "UInt32",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 0,
# "names": "KEY_UINT"
# },
# "path": null,
# "size": 4
# },
# "Int64": {
# "id": 10,
# "name": "Int64",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 8,
# "names": "KEY_INT"
# },
# "path": null,
# "size": 8
# },
# "UInt64": {
# "id": 11,
# "name": "UInt64",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 0,
# "names": "KEY_UINT"
# },
# "path": null,
# "size": 8
# },
# "Float": {
# "id": 12,
# "name": "Float",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 16,
# "names": "KEY_FLOAT"
# },
# "path": null,
# "size": 8
# },
# "Time": {
# "id": 13,
# "name": "Time",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 8,
# "names": "KEY_INT"
# },
# "path": null,
# "size": 8
# },
# "ShortText": {
# "id": 14,
# "name": "ShortText",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 16384,
# "names": "KEY_VAR_SIZE"
# },
# "path": null,
# "size": 4096
# },
# "Text": {
# "id": 15,
# "name": "Text",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 16384,
# "names": "KEY_VAR_SIZE"
# },
# "path": null,
# "size": 65536
# },
# "LongText": {
# "id": 16,
# "name": "LongText",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 16384,
# "names": "KEY_VAR_SIZE"
# },
# "path": null,
# "size": 2147483648
# },
# "TokyoGeoPoint": {
# "id": 17,
# "name": "TokyoGeoPoint",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 24,
# "names": "KEY_GEO_POINT"
# },
# "path": null,
# "size": 8
# },
# "WGS84GeoPoint": {
# "id": 18,
# "name": "WGS84GeoPoint",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 24,
# "names": "KEY_GEO_POINT"
# },
# "path": null,
# "size": 8
# },
# "Float32": {
# "id": 19,
# "name": "Float32",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 16,
# "names": "KEY_FLOAT"
# },
# "path": null,
# "size": 4
# },
# "BFloat16": {
# "id": 20,
# "name": "BFloat16",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 32,
# "name": "type"
# },
# "flags": {
# "value": 16,
# "names": "KEY_FLOAT"
# },
# "path": null,
# "size": 2
# },
# "TokenMecab": {
# "id": 64,
# "name": "TokenMecab",
# "opened": true,
# "n_elements": 4,
# "type": {
# "id": 33,
# "name": "proc"
# },
# "flags": {
# "value": 4096,
# "names": "CUSTOM_NAME"
# },
# "path": "tokenizers/mecab.so",
# "plugin_id": 1
# },
# "Memos": {
# "id": 256,
# "name": "Memos",
# "opened": false,
# "n_elements": 6,
# "type": {
# "id": 48,
# "name": "table:hash_key"
# },
# "flags": {
# "value": 49152,
# "names": "TABLE_HASH_KEY|PERSISTENT"
# },
# "path": "${DB_PATH}.0000100",
# "range": {
# "id": 0,
# "name": null
# },
# "token_filters": [
#
# ]
# },
# "Memos.content": {
# "id": 257,
# "name": "Memos.content",
# "opened": false,
# "n_elements": 5,
# "type": {
# "id": 65,
# "name": "column:var_size"
# },
# "flags": {
# "value": 49152,
# "names": "COLUMN_SCALAR|PERSISTENT"
# },
# "path": "${DB_PATH}.0000101",
# "range": {
# "id": 15,
# "name": "Text"
# },
# "sources": [
#
# ],
# "generator": ""
# },
# "Terms": {
# "id": 258,
# "name": "Terms",
# "opened": false,
# "n_elements": 6,
# "type": {
# "id": 49,
# "name": "table:pat_key"
# },
# "flags": {
# "value": 49153,
# "names": "TABLE_PAT_KEY|PERSISTENT"
# },
# "path": "${DB_PATH}.0000102",
# "range": {
# "id": 0,
# "name": null
# },
# "token_filters": [
#
# ]
# },
# "Terms.memos_content_index": {
# "id": 259,
# "name": "Terms.memos_content_index",
# "opened": false,
# "n_elements": 4,
# "type": {
# "id": 72,
# "name": "column:index"
# },
# "flags": {
# "value": 33282,
# "names": "COLUMN_INDEX|WITH_POSITION|PERSISTENT"
# },
# "path": "${DB_PATH}.0000103",
# "range": {
# "id": 256,
# "name": "Memos"
# },
# "sources": [
# {
# "id": 257,
# "name": "Memos.content"
# }
# ]
# }
# }
# ]
7.3.43.4. 引数#
このセクションではすべての引数について説明します。
7.3.43.4.1. 必須引数#
必須の引数はありません。
7.3.43.4.2. 省略可能引数#
省略可能な引数はありません。
7.3.43.5. 戻り値#
object_list
はデータベース内のオブジェクトの情報一覧を返します。:
[HEADER, OBJECTS]
7.3.43.5.1. HEADER
#
HEADER
については 出力形式 を参照してください。
7.3.43.5.2. OBJECTS
#
OBJECTS
はオブジェクト名とオブジェクト詳細のペアの集合です。:
{
"OBJECT_1": OBJECT_1,
"OBJECT_2": OBJECT_2,
...,
"OBJECT_n": OBJECT_n,
}
各 OBJECT
は共通のプロパティとオブジェクトの種類固有のプロパティを持っています。
7.3.43.5.3. OBJECT
(共通のプロパティ)#
以下は共通のプロパティです。:
{
"id": ID,
"name": NAME,
"opened": OPENED,
"value_size": N_BYTES,
"n_elements": N_ELEMENTS,
"type": OBJECT_TYPE,
"flags": FLAGS,
"path": PATH
}
名前 |
説明 |
---|---|
|
このオブジェクトのID。 |
|
このオブジェクトの名前。 |
|
このオブジェクトが開かれているかどうか。 |
|
このメタデータのバイト数。数値。 これはこのメタデータが壊れているときだけ現れます。もしこのプロパティが現れたら、 |
|
このメタデータ中の内部的な要素の数。数値。 |
|
このオブジェクトの種類。詳細は OBJECT_TYPE を参照してください。 |
|
このオブジェクトのフラグ。詳細は FLAGS を参照してください。 |
|
このオブジェクトのデータを格納しているパス。データを持たないオブジェクトでは |
7.3.43.5.4. OBJECT_TYPE
#
OBJECT_TYPE
はオブジェクトの種類を表します。たとえば、パトリシアトライテーブル、ハッシュテーブル、インデックスカラムなどがオブジェクトの種類です。
OBJECT_TYPE
は次のプロパティを持ちます。:
{
"id": ID,
"name": NAME
}
名前 |
説明 |
---|---|
|
この種類のID。 |
|
この種類の名前。たとえば、 TABLE_HASH_KEY は |
7.3.43.5.5. FLAGS
#
FLAGS
はオブジェクトのフラグを表します。フラグの多くは table_create あるいは column_create で指定したフラグになるでしょう。いくつかのフラグは内部的に追加されたものです。
FLAGS
は以下のプロパティを持っています。:
{
"value": VALUE,
"names": NAMES
}
名前 |
説明 |
---|---|
|
フラグの値。数値。 |
|
各フラグの名前一覧。文字列。各フラグ名は |
7.3.43.5.6. OBJECT
( "type"
というオブジェクトの種類に固有のプロパティ)#
"type"
というオブジェクトの種類に固有の OBJECT
中のプロパティは次の通りです。:
{
"size": SIZE
}
名前 |
説明 |
---|---|
|
型のサイズ。型が固定サイズの型だった場合は各値のサイズになります。型が可変長サイズの型だった場合は各値の最大サイズになります。 |
7.3.43.5.7. OBJECT
( "proc"
というオブジェクトの種類に固有のプロパティ)#
以下は "proc"
という種類のオブジェクト一覧です。
"proc"
というオブジェクトの種類に固有の OBJECT
中のプロパティは次の通りです。:
{
"plugin_id": PLUGIN_ID
}
名前 |
説明 |
---|---|
|
|
7.3.43.5.8. OBJECT
( "table:*"
というオブジェクトの種類に固有のプロパティ)#
"table:*"
というオブジェクトの種類に固有の OBJECT
中のプロパティは次の通りです。:
{
"range": RANGE,
"token_filters": TOKEN_FILTERS
}
名前 |
説明 |
---|---|
|
このテーブルの値の型。詳細は RANGE を参照してください。 |
|
このテーブルのトークンフィルター一覧。詳細は TOKEN_FILTERS を参照してください。 |
7.3.43.5.9. RANGE
#
RANGE
はこの値域の型を表します。
RANGE
は次のプロパティを持ちます。:
{
"id": ID,
"name": NAME
}
名前 |
説明 |
---|---|
|
この値域の型のID。数値。オブジェクトが値域を持たない場合、IDは |
|
この値域の型の名前。文字列または |
7.3.43.5.10. TOKEN_FILTERS
#
TOKEN_FILTERS
はこのテーブルのトークンフィルターの一覧を表します。
TOKEN_FILTERS
は TOKEN_FILTER
の配列になります。:
[
TOKEN_FILTER_1,
TOKEN_FILTER_2,
...,
TOKEN_FILTER_n
]
TOKEN_FILTER
は次のプロパティを持ちます。:
{
"id": ID,
"NAME": NAME
}
名前 |
説明 |
---|---|
|
このトークンフィルターのID。数値。 |
|
このトークンフィルターの名前。文字列。 |
7.3.43.5.11. OBJECT
( "column:*"
というオブジェクトの種類に固有のプロパティ)#
"column:*"
というオブジェクトの種類に固有の OBJECT
中のプロパティは次の通りです。:
{
"range": RANGE,
"sources": SOURCES
}
7.3.43.5.12. OBJECT
( "column:fix"
と "column:var"
というオブジェクトの種類に固有のプロパティ)#
"column:fix"
と "column:var"
というオブジェクトの種類に固有の OBJECT
中のプロパティは次の通りです。:
{
"generator": GENERATOR
}
7.3.43.5.13. SOURCES
#
SOURCES
はインデックスカラムまたは自動生成カラムのソースを表します。
SOURCES
は SOURCE
の配列です。:
[
SOURCE_1,
SOURCE_2,
...,
SOURCE_n
]
SOURCE
は次のプロパティを持ちます。:
{
"id": ID,
"NAME": NAME
}
名前 |
説明 |
---|---|
|
このソーステーブルまたはソースカラムのID。数値。 |
|
このソーステーブルまたはソースカラムの名前。文字列。 |