Skip to main content

Overview of map data types

seekdb supports the map data type, which is used to store unordered key-value pairs. A map consists of keys and corresponding values. This data type allows you to easily manage unordered key-value pairs, such as {a:1, b:2, c:3}, and is particularly useful for scenarios like storing configuration options, user attributes, and product information.

Currently, the map data type primarily supports the definition (DDL) and operations (DML) of map data. You can construct a map using either a map expression or a string. Additionally, two expressions, map_keys and map_values, are provided to extract the key or value arrays from a map, facilitating data processing and analysis.

The supported element types for keys in the current version of seekdb are as follows:

  • Integer types: TINYINT, SMALLINT, INT/INTEGER, and BIGINT, with support for the UNSIGNED modifier.
  • Floating-point types: FLOAT and DOUBLE.
  • String type: VARCHAR.

The supported element types for values are as follows:

  • Integer types: TINYINT, SMALLINT, INT/INTEGER, and BIGINT, with support for the UNSIGNED modifier.
  • Floating-point types: FLOAT and DOUBLE.
  • String type: VARCHAR.
  • Array type: ARRAY.

The following limitations and notes apply:

  • The comparison operators <, >, >=, and <= are not supported.
  • The aggregation operations ORDER BY, GROUP BY, MIN, MAX, AVG, and SUM are not supported.
  • The maximum nesting depth of arrays within a value is 6.

In addition to the map data type, seekdb provides functions for working with map data. For more information, see Map functions.