#
# Autogenerated by Thrift Compiler (0.16.0)
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#

require 'thrift'
require 'serde_types'

SERIALIZATION_LIB = %q"serialization.lib"

SERIALIZATION_CLASS = %q"serialization.class"

SERIALIZATION_FORMAT = %q"serialization.format"

SERIALIZATION_DDL = %q"serialization.ddl"

SERIALIZATION_NULL_FORMAT = %q"serialization.null.format"

SERIALIZATION_ESCAPE_CRLF = %q"serialization.escape.crlf"

SERIALIZATION_LAST_COLUMN_TAKES_REST = %q"serialization.last.column.takes.rest"

SERIALIZATION_SORT_ORDER = %q"serialization.sort.order"

SERIALIZATION_NULL_SORT_ORDER = %q"serialization.sort.order.null"

SERIALIZATION_USE_JSON_OBJECTS = %q"serialization.use.json.object"

SERIALIZATION_ENCODING = %q"serialization.encoding"

FIELD_DELIM = %q"field.delim"

COLLECTION_DELIM = %q"collection.delim"

LINE_DELIM = %q"line.delim"

MAPKEY_DELIM = %q"mapkey.delim"

QUOTE_CHAR = %q"quote.delim"

ESCAPE_CHAR = %q"escape.delim"

HEADER_COUNT = %q"skip.header.line.count"

FOOTER_COUNT = %q"skip.footer.line.count"

VOID_TYPE_NAME = %q"void"

BOOLEAN_TYPE_NAME = %q"boolean"

TINYINT_TYPE_NAME = %q"tinyint"

SMALLINT_TYPE_NAME = %q"smallint"

INT_TYPE_NAME = %q"int"

BIGINT_TYPE_NAME = %q"bigint"

FLOAT_TYPE_NAME = %q"float"

DOUBLE_TYPE_NAME = %q"double"

STRING_TYPE_NAME = %q"string"

CHAR_TYPE_NAME = %q"char"

VARCHAR_TYPE_NAME = %q"varchar"

DATE_TYPE_NAME = %q"date"

DATETIME_TYPE_NAME = %q"datetime"

TIMESTAMP_TYPE_NAME = %q"timestamp"

DECIMAL_TYPE_NAME = %q"decimal"

BINARY_TYPE_NAME = %q"binary"

INTERVAL_YEAR_MONTH_TYPE_NAME = %q"interval_year_month"

INTERVAL_DAY_TIME_TYPE_NAME = %q"interval_day_time"

TIMESTAMPLOCALTZ_TYPE_NAME = %q"timestamp with local time zone"

LIST_TYPE_NAME = %q"array"

MAP_TYPE_NAME = %q"map"

STRUCT_TYPE_NAME = %q"struct"

UNION_TYPE_NAME = %q"uniontype"

VARIANT_TYPE_NAME = %q"variant"

LIST_COLUMNS = %q"columns"

LIST_COLUMN_TYPES = %q"columns.types"

LIST_PARTITION_COLUMNS = %q"partition.columns"

LIST_PARTITION_COLUMN_TYPES = %q"partition.columns.types"

LIST_COLUMN_COMMENTS = %q"columns.comments"

LIST_PARTITION_COLUMN_COMMENTS = %q"partition.columns.comments"

TIMESTAMP_FORMATS = %q"timestamp.formats"

COLUMN_NAME_DELIMITER = %q"column.name.delimiter"

PrimitiveTypes = Set.new([
  %q"void",
  %q"boolean",
  %q"tinyint",
  %q"smallint",
  %q"int",
  %q"bigint",
  %q"float",
  %q"double",
  %q"string",
  %q"varchar",
  %q"char",
  %q"date",
  %q"datetime",
  %q"timestamp",
  %q"interval_year_month",
  %q"interval_day_time",
  %q"decimal",
  %q"binary",
  %q"timestamp with local time zone",
])

CollectionTypes = Set.new([
  %q"array",
  %q"map",
])

IntegralTypes = Set.new([
  %q"tinyint",
  %q"smallint",
  %q"int",
  %q"bigint",
])

