Setting Flex Table Configuration Parameters

These configuration parameters affect flex table usage:

  • EnableBetterFlexTypeGuessing
  • FlexTableRawSize
  • FlexTableDataTypeGuessMultiplier

This section presents information about each of the parameters.

To change configuration parameters, and to understand parameter scope, see Setting Configuration Parameter Values and General Parameters in the Administrator's Guide.

Using EnableBetterFlexTypeGuessing

The EnableBetterFlexTypeGuessing configuration parameter is 1 (ON) by default. This setting results in the COMPUTE_FLEXTABLE_KEYS or COMPUTE_FLEXTABLE_KEYS_AND_BUILD_VIEW functions determining data types for string and non-string keys. If you change the configuration parameter to 0 (OFF), the functions determine all flex keys as string types ([LONG]VARCHAR) or ([LONG] VARBINARY).

You can set this configuration parameter at the database and session level.

For examples of using both settings, see Computing Flex Table Keys.

Specifying the FlexTableRawSize Parameter

The FlexTableRawSize parameter defines the default width of each flex table __raw__ column. This column is a LONG VARBINARY data type, and contains the map data you load into the table.

You can set this configuration parameter at the database and session levels. Setting this configuration parameter does not affect any existing flex tables, only the default width for new flex tables you create after changing FlexTableRawSize.

To change the __raw__ column width of an existing flex table, use the ALTER TABLE statement, described in Materializing Flex Tables.

Redefining the FlexTableDataTypeGuessMultiplier

After loading data into a flex table, each key in the __raw__ column is a LONG VARBINARY data type.

When you compute flex table keys with either of the functions, COMPUTE_FLEXTABLE_KEYS or COMPUTE_FLEXTABLE_KEYS_AND_BUILD_VIEW, the functions cast each key to the applicable Vertica data type. The key value length is determined by the key's largest value, multiplied by the FlexTableDataTypeGuessMultiplier factor. Padding the column width with the multiplier supports future data load key values at least twice the largest key value previously loaded.

The flex keys table that both flex functions populate is used to create the associated flex table view.

The FlexTableDataTypeGuessMultiplier value is not used to calculate the width of any real columns in a flex table.