7.3.12. column_list#

7.3.12.1. Summary#

column_list command lists columns in a table.

7.3.12.2. Syntax#

This command takes only one required parameter:

column_list table

7.3.12.3. Usage#

Here is a simple example of column_list command.

Execution example:

table_create Users TABLE_PAT_KEY ShortText
# [[0, 1337566253.89858, 0.000355720520019531], true]
column_create Users age COLUMN_SCALAR UInt8
# [[0, 1337566253.89858, 0.000355720520019531], true]
column_create Users tags COLUMN_VECTOR ShortText
# [[0, 1337566253.89858, 0.000355720520019531], true]
column_list Users
# [
#   [
#     0,
#     1337566253.89858,
#     0.000355720520019531
#   ],
#   [
#     [
#       [
#         "id",
#         "UInt32"
#       ],
#       [
#         "name",
#         "ShortText"
#       ],
#       [
#         "path",
#         "ShortText"
#       ],
#       [
#         "type",
#         "ShortText"
#       ],
#       [
#         "flags",
#         "ShortText"
#       ],
#       [
#         "domain",
#         "ShortText"
#       ],
#       [
#         "range",
#         "ShortText"
#       ],
#       [
#         "source",
#         "ShortText"
#       ]
#     ],
#     [
#       256,
#       "_key",
#       "",
#       "",
#       "COLUMN_SCALAR",
#       "Users",
#       "ShortText",
#       []
#     ],
#     [
#       257,
#       "age",
#       "/tmp/groonga-databases/commands_column_list.0000101",
#       "fix",
#       "COLUMN_SCALAR|PERSISTENT",
#       "Users",
#       "UInt8",
#       []
#     ],
#     [
#       258,
#       "tags",
#       "/tmp/groonga-databases/commands_column_list.0000102",
#       "var",
#       "COLUMN_VECTOR|PERSISTENT",
#       "Users",
#       "ShortText",
#       []
#     ]
#   ]
# ]

7.3.12.4. Parameters#

This section describes parameters of column_list.

7.3.12.4.1. Required parameters#

All parameters are required.

7.3.12.4.1.1. table#

Specifies the name of table to be listed columns.

7.3.12.5. Return value#

column_list returns the list of column information in the table:

[
  HEADER,
  [
    COLUMN_LIST_HEADER,
    COLUMN_INFORMATION1,
    COLUMN_INFORMATION2,
    ...
  ]
]

HEADER

See Output format about HEADER.

COLUMN_LIST_HEADER

COLUMN_LIST_HEADER describes about content of each COLUMN_INFORMATION.

COLUMN_LIST_HEADER is the following format:

[
  ["id",     "UInt32"],
  ["name",   "ShortText"],
  ["path",   "ShortText"],
  ["type",   "ShortText"],
  ["flags",  "ShortText"],
  ["domain", "ShortText"],
  ["range",  "ShortText"],
  ["source", "ShortText"]
]

It means the following:

  • The first content in COLUMN_INFORMATION is id value and the value type is UInt32.

  • The second content in COLUMN_INFORMATION is name value and the value type is ShortText.

  • The third content ….

See the following COLUMN_INFORMATION description for details.

This field provides meta-data of column information. So this field will be useful for programs rather than humans.

COLUMN_INFORMATION

Each COLUMN_INFORMATION is the following format:

[
  ID,
  NAME,
  PATH,
  TYPE,
  FLAGS,
  DOMAIN,
  RANGE,
  SOURCES
]

ID

The column ID in the Groonga database. Normally, you don’t care about it.

NAME

The column name.

PATH

The path for storing column data.

TYPE

The type of the column. It is one of the followings:

Value

Description

fix

The column is a fixed size column. Scalar column that its type is fixed size type is fixed size column.

var

The column is a variable size column. Vector column or scalar column that its type is variable size type are variable size column.

index

The column is an index column.

FLAGS

The flags of the column. Each flag is separated by | like COLUMN_VECTOR|WITH_WEIGHT. FLAGS must include one of COLUMN_SCALAR, COLUMN_VECTOR or COLUMN_INDEX. Other flags are optional.

Here is the available flags:

Flag

Description

COLUMN_SCALAR

The column is a scalar column.

COLUMN_VECTOR

The column is a vector column.

COLUMN_INDEX

The column is an index column.

WITH_WEIGHT

The column can have weight. COLUMN_VECTOR and COLUMN_INDEX may have it. COLUMN_SCALAR doesn’t have it.

WITH_SECTION

The column can have section information. COLUMN_INDEX may have it. COLUMN_SCALAR and COLUMN_VECTOR don’t have it.

Multiple column index has it.

WITH_POSITION

The column can have position information. COLUMN_INDEX may have it. COLUMN_SCALAR and COLUMN_VECTOR don’t have it.

Full text search index must has it.

PERSISTENT

The column is a persistent column. It means that the column isn’t a Pseudo column.

DOMAIN

The name of table that has the column.

RANGE

The value type name of the column. It is a type name or a table name.

SOURCES

An array of the source column names of the index. If the index column is multiple column index, the array has two or more source column names.

It is always an empty array for COLUMN_SCALAR and COLUMN_VECTOR.

7.3.12.6. See also#