warehouseutils

package
v1.5.0-rc.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2023 License: AGPL-3.0 Imports: 35 Imported by: 1

Documentation

Index

Constants

View Source
const (
	PARQUET_INT_64           = "type=INT64, repetitiontype=OPTIONAL"
	PARQUET_BOOLEAN          = "type=BOOLEAN, repetitiontype=OPTIONAL"
	PARQUET_DOUBLE           = "type=DOUBLE, repetitiontype=OPTIONAL"
	PARQUET_STRING           = "type=BYTE_ARRAY, convertedtype=UTF8, repetitiontype=OPTIONAL"
	PARQUET_TIMESTAMP_MICROS = "type=INT64, convertedtype=TIMESTAMP_MICROS, repetitiontype=OPTIONAL"
)
View Source
const (
	RS             = "RS"
	BQ             = "BQ"
	SNOWFLAKE      = "SNOWFLAKE"
	POSTGRES       = "POSTGRES"
	CLICKHOUSE     = "CLICKHOUSE"
	MSSQL          = "MSSQL"
	AZURE_SYNAPSE  = "AZURE_SYNAPSE"
	DELTALAKE      = "DELTALAKE"
	S3_DATALAKE    = "S3_DATALAKE"
	GCS_DATALAKE   = "GCS_DATALAKE"
	AZURE_DATALAKE = "AZURE_DATALAKE"
)
View Source
const (
	StagingFileSucceededState = "succeeded"
	StagingFileFailedState    = "failed"
	StagingFileExecutingState = "executing"
	StagingFileAbortedState   = "aborted"
	StagingFileWaitingState   = "waiting"
)
View Source
const (
	WarehouseStagingFilesTable = "wh_staging_files"
	WarehouseLoadFilesTable    = "wh_load_files"
	WarehouseUploadsTable      = "wh_uploads"
	WarehouseTableUploadsTable = "wh_table_uploads"
	WarehouseSchemasTable      = "wh_schemas"
	WarehouseAsyncJobTable     = "wh_async_jobs"
)

warehouse table names

View Source
const (
	DiscardsTable           = "rudder_discards"
	IdentityMergeRulesTable = "rudder_identity_merge_rules"
	IdentityMappingsTable   = "rudder_identity_mappings"
	SyncFrequency           = "syncFrequency"
	SyncStartAt             = "syncStartAt"
	ExcludeWindow           = "excludeWindow"
	ExcludeWindowStartTime  = "excludeWindowStartTime"
	ExcludeWindowEndTime    = "excludeWindowEndTime"
)
View Source
const (
	UsersTable      = "users"
	UsersView       = "users_view"
	IdentifiesTable = "identifies"
)
View Source
const (
	BQLoadedAtFormat         = "2006-01-02 15:04:05.999999 Z"
	BQUuidTSFormat           = "2006-01-02 15:04:05 Z"
	DatalakeTimeWindowFormat = "2006/01/02/15"
)
View Source
const (
	CTInvalidStep        = "Invalid step"
	CTStagingTablePrefix = "setup_test_staging"
)
View Source
const (
	WAREHOUSE               = "warehouse"
	RUDDER_MISSING_DATATYPE = "warehouse_rudder_missing_datatype"
	MISSING_DATATYPE        = "<missing_datatype>"
)
View Source
const (
	S3         = "S3"
	AZURE_BLOB = "AZURE_BLOB"
	GCS        = "GCS"
	MINIO      = "MINIO"
)

Object storages

View Source
const (
	AWS   = "AWS"
	GCP   = "GCP"
	AZURE = "AZURE"
)

Cloud providers

View Source
const (
	AWSAccessKey         = "accessKey"
	AWSAccessSecret      = "accessKeyID"
	AWSBucketNameConfig  = "bucketName"
	AWSRegion            = "region"
	AWSS3Prefix          = "prefix"
	MinioAccessKeyID     = "accessKeyID"
	MinioSecretAccessKey = "secretAccessKey"
)
View Source
const (
	LOAD_FILE_TYPE_CSV     = "csv"
	LOAD_FILE_TYPE_JSON    = "json"
	LOAD_FILE_TYPE_PARQUET = "parquet"
	TestConnectionTimeout  = 15 * time.Second
)
View Source
const LOADED_AT_COLUMN = "loaded_at"
View Source
const (
	NotImplementedErrorCode = "not implemented"
)
View Source
const UUID_TS_COLUMN = "uuid_ts"

Variables

View Source
var (
	IdentityEnabledWarehouses []string

	AWSCredsExpiryInS int64
)
View Source
var (
	TimeWindowDestinations []string
	WarehouseDestinations  []string
)
View Source
var (
	S3PathStyleRegex     = regexp.MustCompile(`https?://s3([.-](?P<region>[^.]+))?.amazonaws\.com/(?P<bucket>[^/]+)/(?P<keyname>.*)`)
	S3VirtualHostedRegex = regexp.MustCompile(`https?://(?P<bucket>[^/]+).s3([.-](?P<region>[^.]+))?.amazonaws\.com/(?P<keyname>.*)`)
)
View Source
var DiscardsSchema = map[string]string{
	"table_name":   "string",
	"row_id":       "string",
	"column_name":  "string",
	"column_value": "string",
	"received_at":  "datetime",
	"uuid_ts":      "datetime",
}
View Source
var ReservedKeywords = map[string]map[string]bool{
	"SNOWFLAKE": {
		"ACCOUNT":           true,
		"ALL":               true,
		"ALTER":             true,
		"AND":               true,
		"ANY":               true,
		"AS":                true,
		"BETWEEN":           true,
		"BY":                true,
		"CASE":              true,
		"CAST":              true,
		"CHECK":             true,
		"COLUMN":            true,
		"CONNECT":           true,
		"CONNECTION":        true,
		"CONSTRAINT":        true,
		"CREATE":            true,
		"CROSS":             true,
		"CURRENT":           true,
		"CURRENT_DATE":      true,
		"CURRENT_TIME":      true,
		"CURRENT_TIMESTAMP": true,
		"CURRENT_USER":      true,
		"DATABASE":          true,
		"DELETE":            true,
		"DISTINCT":          true,
		"DROP":              true,
		"ELSE":              true,
		"EXISTS":            true,
		"FALSE":             true,
		"FOLLOWING":         true,
		"FOR":               true,
		"FROM":              true,
		"FULL":              true,
		"GRANT":             true,
		"GROUP":             true,
		"GSCLUSTER":         true,
		"HAVING":            true,
		"ILIKE":             true,
		"IN":                true,
		"INCREMENT":         true,
		"INNER":             true,
		"INSERT":            true,
		"INTERSECT":         true,
		"INTO":              true,
		"IS":                true,
		"ISSUE":             true,
		"JOIN":              true,
		"LATERAL":           true,
		"LEFT":              true,
		"LIKE":              true,
		"LOCALTIME":         true,
		"LOCALTIMESTAMP":    true,
		"MINUS":             true,
		"NATURAL":           true,
		"NOT":               true,
		"NULL":              true,
		"OF":                true,
		"ON":                true,
		"OR":                true,
		"ORDER":             true,
		"ORGANIZATION":      true,
		"QUALIFY":           true,
		"REGEXP":            true,
		"REVOKE":            true,
		"RIGHT":             true,
		"RLIKE":             true,
		"ROW":               true,
		"ROWS":              true,
		"SAMPLE":            true,
		"SCHEMA":            true,
		"SELECT":            true,
		"SET":               true,
		"SOME":              true,
		"START":             true,
		"TABLE":             true,
		"TABLESAMPLE":       true,
		"THEN":              true,
		"TO":                true,
		"TRIGGER":           true,
		"TRUE":              true,
		"TRY_CAST":          true,
		"UNION":             true,
		"UNIQUE":            true,
		"UPDATE":            true,
		"USING":             true,
		"VALUES":            true,
		"VIEW":              true,
		"WHEN":              true,
		"WHENEVER":          true,
		"WHERE":             true,
		"WITH":              true,
	},
	"RS": {
		"AES128":            true,
		"AES256":            true,
		"ALL":               true,
		"ALLOWOVERWRITE":    true,
		"ANALYSE":           true,
		"ANALYZE":           true,
		"AND":               true,
		"ANY":               true,
		"ARRAY":             true,
		"AS":                true,
		"ASC":               true,
		"AUTHORIZATION":     true,
		"AZ64":              true,
		"BACKUP":            true,
		"BETWEEN":           true,
		"BINARY":            true,
		"BLANKSASNULL":      true,
		"BOTH":              true,
		"BYTEDICT":          true,
		"BZIP2":             true,
		"CASE":              true,
		"CAST":              true,
		"CHECK":             true,
		"COLLATE":           true,
		"COLUMN":            true,
		"CONSTRAINT":        true,
		"CREATE":            true,
		"CREDENTIALS":       true,
		"CROSS":             true,
		"CURRENT_DATE":      true,
		"CURRENT_TIME":      true,
		"CURRENT_TIMESTAMP": true,
		"CURRENT_USER":      true,
		"CURRENT_USER_ID":   true,
		"DEFAULT":           true,
		"DEFERRABLE":        true,
		"DEFLATE":           true,
		"DEFRAG":            true,
		"DELTA":             true,
		"DELTA32K":          true,
		"DESC":              true,
		"DISABLE":           true,
		"DISTINCT":          true,
		"DO":                true,
		"ELSE":              true,
		"EMPTYASNULL":       true,
		"ENABLE":            true,
		"ENCODE":            true,
		"ENCRYPT     ":      true,
		"ENCRYPTION":        true,
		"END":               true,
		"EXCEPT":            true,
		"EXPLICIT":          true,
		"FALSE":             true,
		"FOR":               true,
		"FOREIGN":           true,
		"FREEZE":            true,
		"FROM":              true,
		"FULL":              true,
		"GLOBALDICT256":     true,
		"GLOBALDICT64K":     true,
		"GRANT":             true,
		"GROUP":             true,
		"GZIP":              true,
		"HAVING":            true,
		"IDENTITY":          true,
		"IGNORE":            true,
		"ILIKE":             true,
		"IN":                true,
		"INITIALLY":         true,
		"INNER":             true,
		"INTERSECT":         true,
		"INTO":              true,
		"IS":                true,
		"ISNULL":            true,
		"JOIN":              true,
		"LANGUAGE":          true,
		"LEADING":           true,
		"LEFT":              true,
		"LIKE":              true,
		"LIMIT":             true,
		"LOCALTIME":         true,
		"LOCALTIMESTAMP":    true,
		"LUN":               true,
		"LUNS":              true,
		"LZO":               true,
		"LZOP":              true,
		"MINUS":             true,
		"MOSTLY13":          true,
		"MOSTLY32":          true,
		"MOSTLY8":           true,
		"NATURAL":           true,
		"NEW":               true,
		"NOT":               true,
		"NOTNULL":           true,
		"NULL":              true,
		"NULLS":             true,
		"OFF":               true,
		"OFFLINE":           true,
		"OFFSET":            true,
		"OID":               true,
		"OLD":               true,
		"ON":                true,
		"ONLY":              true,
		"OPEN":              true,
		"OR":                true,
		"ORDER":             true,
		"OUTER":             true,
		"OVERLAPS":          true,
		"PARALLEL":          true,
		"PARTITION":         true,
		"PERCENT":           true,
		"PERMISSIONS":       true,
		"PLACING":           true,
		"PRIMARY":           true,
		"RAW":               true,
		"READRATIO":         true,
		"RECOVER":           true,
		"REFERENCES":        true,
		"RESPECT":           true,
		"REJECTLOG":         true,
		"RESORT":            true,
		"RESTORE":           true,
		"RIGHT":             true,
		"SELECT":            true,
		"SESSION_USER":      true,
		"SIMILAR":           true,
		"SNAPSHOT ":         true,
		"SOME":              true,
		"SYSDATE":           true,
		"SYSTEM":            true,
		"TABLE":             true,
		"TAG":               true,
		"TDES":              true,
		"TEXT255":           true,
		"TEXT32K":           true,
		"THEN":              true,
		"TIMESTAMP":         true,
		"TO":                true,
		"TOP":               true,
		"TRAILING":          true,
		"TRUE":              true,
		"TRUNCATECOLUMNS":   true,
		"UNION":             true,
		"UNIQUE":            true,
		"USER":              true,
		"USING":             true,
		"VERBOSE":           true,
		"WALLET":            true,
		"WHEN":              true,
		"WHERE":             true,
		"WITH":              true,
		"WITHOUT":           true,
	},
	"DELTALAKE": {
		"ALL":               true,
		"ALTER":             true,
		"AND":               true,
		"ANTI":              true,
		"ANY":               true,
		"ARRAY":             true,
		"AS":                true,
		"AT":                true,
		"AUTHORIZATION":     true,
		"BETWEEN":           true,
		"BOTH":              true,
		"BY":                true,
		"CASE":              true,
		"CAST":              true,
		"CHECK":             true,
		"COLLATE":           true,
		"COLUMN":            true,
		"COMMIT":            true,
		"CONSTRAINT":        true,
		"CREATE":            true,
		"CROSS":             true,
		"CUBE":              true,
		"CURRENT":           true,
		"CURRENT_DATE":      true,
		"CURRENT_TIME":      true,
		"CURRENT_TIMESTAMP": true,
		"CURRENT_USER":      true,
		"DELETE":            true,
		"DESCRIBE":          true,
		"DISTINCT":          true,
		"DROP":              true,
		"ELSE":              true,
		"END":               true,
		"ESCAPE":            true,
		"EXCEPT":            true,
		"EVENT_DATE":        true,
		"EXISTS":            true,
		"EXTERNAL":          true,
		"EXTRACT":           true,
		"FALSE":             true,
		"FETCH":             true,
		"FILTER":            true,
		"FOR":               true,
		"FOREIGN":           true,
		"FROM":              true,
		"FULL":              true,
		"FUNCTION":          true,
		"GLOBAL":            true,
		"GRANT":             true,
		"GROUP":             true,
		"GROUPING":          true,
		"HAVING":            true,
		"IN":                true,
		"INNER":             true,
		"INSERT":            true,
		"INTERSECT":         true,
		"INTERVAL":          true,
		"INTO":              true,
		"IS":                true,
		"JOIN":              true,
		"LATERAL":           true,
		"LEADING":           true,
		"LEFT":              true,
		"LIKE":              true,
		"LOCAL":             true,
		"MINUS":             true,
		"NATURAL":           true,
		"NO":                true,
		"NOT":               true,
		"NULL":              true,
		"OF":                true,
		"ON":                true,
		"ONLY":              true,
		"OR":                true,
		"ORDER":             true,
		"OUT":               true,
		"OUTER":             true,
		"OVERLAPS":          true,
		"PARTITION":         true,
		"POSITION":          true,
		"PRIMARY":           true,
		"RANGE":             true,
		"REFERENCES":        true,
		"REVOKE":            true,
		"RIGHT":             true,
		"ROLLBACK":          true,
		"ROLLUP":            true,
		"ROW":               true,
		"ROWS":              true,
		"SELECT":            true,
		"SEMI":              true,
		"SESSION_USER":      true,
		"SET":               true,
		"SOME":              true,
		"START":             true,
		"TABLE":             true,
		"TABLESAMPLE":       true,
		"THEN":              true,
		"TIME":              true,
		"TO":                true,
		"TRAILING":          true,
		"TRUE":              true,
		"TRUNCATE":          true,
		"UNION":             true,
		"UNIQUE":            true,
		"UNKNOWN":           true,
		"UPDATE":            true,
		"USER":              true,
		"USING":             true,
		"VALUES":            true,
		"WHEN":              true,
		"WHERE":             true,
		"WINDOW":            true,
		"WITH":              true,
	},
	"POSTGRES": {
		"ALL":               true,
		"ANALYSE":           true,
		"ANALYZE":           true,
		"AND":               true,
		"ANY":               true,
		"ARRAY":             true,
		"AS":                true,
		"ASC":               true,
		"ASYMMETRIC":        true,
		"AUTHORIZATION":     true,
		"BETWEEN":           true,
		"BINARY":            true,
		"BOTH":              true,
		"CASE":              true,
		"CAST":              true,
		"CHECK":             true,
		"COLLATE":           true,
		"COLUMN":            true,
		"CONSTRAINT":        true,
		"CREATE":            true,
		"CROSS":             true,
		"CURRENT_DATE":      true,
		"CURRENT_ROLE":      true,
		"CURRENT_TIME":      true,
		"CURRENT_TIMESTAMP": true,
		"CURRENT_USER":      true,
		"DEFAULT":           true,
		"DEFERRABLE":        true,
		"DESC":              true,
		"DISTINCT":          true,
		"DO":                true,
		"ELSE":              true,
		"END":               true,
		"EXCEPT":            true,
		"FALSE":             true,
		"FOR":               true,
		"FOREIGN":           true,
		"FREEZE":            true,
		"FROM":              true,
		"FULL":              true,
		"GRANT":             true,
		"GROUP":             true,
		"HAVING":            true,
		"ILIKE":             true,
		"IN":                true,
		"INITIALLY":         true,
		"INNER":             true,
		"INTERSECT":         true,
		"INTO":              true,
		"IS":                true,
		"ISNULL":            true,
		"JOIN":              true,
		"LEADING":           true,
		"LEFT":              true,
		"LIKE":              true,
		"LIMIT":             true,
		"LOCALTIME":         true,
		"LOCALTIMESTAMP":    true,
		"NATURAL":           true,
		"NEW":               true,
		"NOT":               true,
		"NOTNULL":           true,
		"NULL":              true,
		"OFF":               true,
		"OFFSET":            true,
		"OLD":               true,
		"ON":                true,
		"ONLY":              true,
		"OR":                true,
		"ORDER":             true,
		"OUTER":             true,
		"OVERLAPS":          true,
		"PLACING":           true,
		"PRIMARY":           true,
		"REFERENCES":        true,
		"RIGHT":             true,
		"SELECT":            true,
		"SESSION_USER":      true,
		"SIMILAR":           true,
		"SOME":              true,
		"SYMMETRIC":         true,
		"TABLE":             true,
		"THEN":              true,
		"TRAILING":          true,
		"TRUE":              true,
		"UNION":             true,
		"UNIQUE":            true,
		"USER":              true,
		"USING":             true,
		"VERBOSE":           true,
		"WHEN":              true,
		"WHERE":             true,
	},
	"BQ": {
		"ALL":                  true,
		"AND":                  true,
		"ANY":                  true,
		"ARRAY":                true,
		"AS":                   true,
		"ASC":                  true,
		"ASSERT_ROWS_MODIFIED": true,
		"AT":                   true,
		"BETWEEN":              true,
		"BY":                   true,
		"CASE":                 true,
		"CAST":                 true,
		"COLLATE":              true,
		"CONTAINS":             true,
		"CREATE":               true,
		"CROSS":                true,
		"CUBE":                 true,
		"CURRENT":              true,
		"DEFAULT":              true,
		"DEFINE":               true,
		"DESC":                 true,
		"DISTINCT":             true,
		"ELSE":                 true,
		"END":                  true,
		"ENUM":                 true,
		"ESCAPE":               true,
		"EXCEPT":               true,
		"EXCLUDE":              true,
		"EXISTS":               true,
		"EXTRACT":              true,
		"FALSE":                true,
		"FETCH":                true,
		"FOLLOWING":            true,
		"FOR":                  true,
		"FROM":                 true,
		"FULL":                 true,
		"GROUP":                true,
		"GROUPING":             true,
		"GROUPS":               true,
		"HASH":                 true,
		"HAVING":               true,
		"IF":                   true,
		"IGNORE":               true,
		"IN":                   true,
		"INNER":                true,
		"INTERSECT":            true,
		"INTERVAL":             true,
		"INTO":                 true,
		"IS":                   true,
		"JOIN":                 true,
		"LATERAL":              true,
		"LEFT":                 true,
		"LIKE":                 true,
		"LIMIT":                true,
		"LOOKUP":               true,
		"MERGE":                true,
		"NATURAL":              true,
		"NEW":                  true,
		"NO":                   true,
		"NOT":                  true,
		"NULL":                 true,
		"NULLS":                true,
		"OF":                   true,
		"ON":                   true,
		"OR":                   true,
		"ORDER":                true,
		"OUTER":                true,
		"OVER":                 true,
		"PARTITION":            true,
		"PRECEDING":            true,
		"PROTO":                true,
		"RANGE":                true,
		"RECURSIVE":            true,
		"RESPECT":              true,
		"RIGHT":                true,
		"ROLLUP":               true,
		"ROWS":                 true,
		"SELECT":               true,
		"SET":                  true,
		"SOME":                 true,
		"STRUCT":               true,
		"TABLESAMPLE":          true,
		"THEN":                 true,
		"TO":                   true,
		"TREAT":                true,
		"TRUE":                 true,
		"UNBOUNDED":            true,
		"UNION":                true,
		"UNNEST":               true,
		"USING":                true,
		"WHEN":                 true,
		"WHERE":                true,
		"WINDOW":               true,
		"WITH":                 true,
		"WITHIN":               true,
	},
	"S3_DATALAKE": {
		"ALL":               true,
		"ALTER":             true,
		"AND":               true,
		"ARRAY":             true,
		"AS":                true,
		"AUTHORIZATION":     true,
		"BETWEEN":           true,
		"BIGINT":            true,
		"BINARY":            true,
		"BOOLEAN":           true,
		"BOTH":              true,
		"BY":                true,
		"CASE":              true,
		"CASHE":             true,
		"CAST":              true,
		"CHAR":              true,
		"COLUMN":            true,
		"CONF":              true,
		"CONSTRAINT":        true,
		"COMMIT":            true,
		"CREATE":            true,
		"CROSS":             true,
		"CUBE":              true,
		"CURRENT":           true,
		"CURRENT_DATE":      true,
		"CURRENT_TIMESTAMP": true,
		"CURSOR":            true,
		"DATABASE":          true,
		"DATE":              true,
		"DAYOFWEEK":         true,
		"DECIMAL":           true,
		"DELETE":            true,
		"DESCRIBE":          true,
		"DISTINCT":          true,
		"DOUBLE":            true,
		"DROP":              true,
		"ELSE":              true,
		"END":               true,
		"EXCHANGE":          true,
		"EXISTS":            true,
		"EXTENDED":          true,
		"EXTERNAL":          true,
		"EXTRACT":           true,
		"FALSE":             true,
		"FETCH":             true,
		"FLOAT":             true,
		"FLOOR":             true,
		"FOLLOWING":         true,
		"FOR":               true,
		"FOREIGN":           true,
		"FROM":              true,
		"FULL":              true,
		"FUNCTION":          true,
		"GRANT":             true,
		"GROUP":             true,
		"GROUPING":          true,
		"HAVING":            true,
		"IF":                true,
		"IMPORT":            true,
		"IN":                true,
		"INNER":             true,
		"INSERT":            true,
		"INT":               true,
		"INTEGER":           true,
		"INTERSECT":         true,
		"INTERVAL":          true,
		"INTO":              true,
		"IS":                true,
		"JOIN":              true,
		"LATERAL":           true,
		"LEFT":              true,
		"LESS":              true,
		"LIKE":              true,
		"LOCAL":             true,
		"MACRO":             true,
		"MAP":               true,
		"MORE":              true,
		"NONE":              true,
		"NOT":               true,
		"NULL":              true,
		"NUMERIC":           true,
		"OF":                true,
		"ON":                true,
		"ONLY":              true,
		"OR":                true,
		"ORDER":             true,
		"OUT":               true,
		"OUTER":             true,
		"OVER":              true,
		"PARTIALSCAN":       true,
		"PARTITION":         true,
		"PERCENT":           true,
		"PRECEDING":         true,
		"PRECISION":         true,
		"PRESERVE":          true,
		"PRIMARY":           true,
		"PROCEDURE":         true,
		"RANGE":             true,
		"READS":             true,
		"REDUCE":            true,
		"REGEXP":            true,
		"REFERENCES":        true,
		"REVOKE":            true,
		"RIGHT":             true,
		"RLIKE":             true,
		"ROLLBACK":          true,
		"ROLLUP":            true,
		"ROW":               true,
		"ROWS":              true,
		"SELECT":            true,
		"SET":               true,
		"SMALLINT":          true,
		"START":             true,
		"TABLE":             true,
		"TABLESAMPLE":       true,
		"THEN":              true,
		"TIME":              true,
		"TIMESTAMP":         true,
		"TO":                true,
		"TRANSFORM":         true,
		"TRIGGER":           true,
		"TRUE":              true,
		"TRUNCATE":          true,
		"UNBOUNDED":         true,
		"UNION":             true,
		"UNIQUEJOIN":        true,
		"UPDATE":            true,
		"USER":              true,
		"USING":             true,
		"UTC_TIMESTAMP":     true,
		"VALUES":            true,
		"VARCHAR":           true,
		"VIEWS":             true,
		"WHEN":              true,
		"WHERE":             true,
		"WINDOW":            true,
		"WITH":              true,
	},
	"GCS_DATALAKE": {
		"ALL":                  true,
		"AND":                  true,
		"ANY":                  true,
		"ARRAY":                true,
		"AS":                   true,
		"ASC":                  true,
		"ASSERT_ROWS_MODIFIED": true,
		"AT":                   true,
		"BETWEEN":              true,
		"BY":                   true,
		"CASE":                 true,
		"CAST":                 true,
		"COLLATE":              true,
		"CONTAINS":             true,
		"CREATE":               true,
		"CROSS":                true,
		"CUBE":                 true,
		"CURRENT":              true,
		"DEFAULT":              true,
		"DEFINE":               true,
		"DESC":                 true,
		"DISTINCT":             true,
		"ELSE":                 true,
		"END":                  true,
		"ENUM":                 true,
		"ESCAPE":               true,
		"EXCEPT":               true,
		"EXCLUDE":              true,
		"EXISTS":               true,
		"EXTRACT":              true,
		"FALSE":                true,
		"FETCH":                true,
		"FOLLOWING":            true,
		"FOR":                  true,
		"FROM":                 true,
		"FULL":                 true,
		"GROUP":                true,
		"GROUPING":             true,
		"GROUPS":               true,
		"HASH":                 true,
		"HAVING":               true,
		"IF":                   true,
		"IGNORE":               true,
		"IN":                   true,
		"INNER":                true,
		"INTERSECT":            true,
		"INTERVAL":             true,
		"INTO":                 true,
		"IS":                   true,
		"JOIN":                 true,
		"LATERAL":              true,
		"LEFT":                 true,
		"LIKE":                 true,
		"LIMIT":                true,
		"LOOKUP":               true,
		"MERGE":                true,
		"NATURAL":              true,
		"NEW":                  true,
		"NO":                   true,
		"NOT":                  true,
		"NULL":                 true,
		"NULLS":                true,
		"OF":                   true,
		"ON":                   true,
		"OR":                   true,
		"ORDER":                true,
		"OUTER":                true,
		"OVER":                 true,
		"PARTITION":            true,
		"PRECEDING":            true,
		"PROTO":                true,
		"RANGE":                true,
		"RECURSIVE":            true,
		"RESPECT":              true,
		"RIGHT":                true,
		"ROLLUP":               true,
		"ROWS":                 true,
		"SELECT":               true,
		"SET":                  true,
		"SOME":                 true,
		"STRUCT":               true,
		"TABLESAMPLE":          true,
		"THEN":                 true,
		"TO":                   true,
		"TREAT":                true,
		"TRUE":                 true,
		"UNBOUNDED":            true,
		"UNION":                true,
		"UNNEST":               true,
		"USING":                true,
		"WHEN":                 true,
		"WHERE":                true,
		"WINDOW":               true,
		"WITH":                 true,
		"WITHIN":               true,
	},
	"AZURE_DATALAKE": {
		"ABSOLUTE":                         true,
		"ACTION":                           true,
		"ADA":                              true,
		"ADD":                              true,
		"ADMIN":                            true,
		"AFTER":                            true,
		"AGGREGATE":                        true,
		"ALIAS":                            true,
		"ALL":                              true,
		"ALLOCATE":                         true,
		"ALTER":                            true,
		"AND":                              true,
		"ANY":                              true,
		"ARE":                              true,
		"ARRAY":                            true,
		"AS":                               true,
		"ASC":                              true,
		"ASENSITIVE":                       true,
		"ASSERTION":                        true,
		"ASYMMETRIC":                       true,
		"AT":                               true,
		"ATOMIC":                           true,
		"AUTHORIZATION":                    true,
		"AVG":                              true,
		"BACKUP":                           true,
		"BEFORE":                           true,
		"BEGIN":                            true,
		"BETWEEN":                          true,
		"BINARY":                           true,
		"BIT":                              true,
		"BIT_LENGTH":                       true,
		"BLOB":                             true,
		"BOOLEAN":                          true,
		"BOTH":                             true,
		"BREADTH":                          true,
		"BREAK":                            true,
		"BROWSE":                           true,
		"BULK":                             true,
		"BY":                               true,
		"CALL":                             true,
		"CALLED":                           true,
		"CARDINALITY":                      true,
		"CASCADE":                          true,
		"CASCADED":                         true,
		"CASE":                             true,
		"CAST":                             true,
		"CATALOG":                          true,
		"CHAR":                             true,
		"CHAR_LENGTH":                      true,
		"CHARACTER":                        true,
		"CHARACTER_LENGTH":                 true,
		"CHECK":                            true,
		"CHECKPOINT":                       true,
		"CLASS":                            true,
		"CLOB":                             true,
		"CLOSE":                            true,
		"CLUSTERED":                        true,
		"COALESCE":                         true,
		"COLLATE":                          true,
		"COLLATION":                        true,
		"COLLECT":                          true,
		"COLUMN":                           true,
		"COMMIT":                           true,
		"COMPLETION":                       true,
		"COMPUTE":                          true,
		"CONDITION":                        true,
		"CONNECT":                          true,
		"CONNECTION":                       true,
		"CONSTRAINT":                       true,
		"CONSTRAINTS":                      true,
		"CONTAINS":                         true,
		"CONTAINSTABLE":                    true,
		"CONTINUE":                         true,
		"CONVERT":                          true,
		"CORR":                             true,
		"CORRESPONDING":                    true,
		"COUNT":                            true,
		"COVAR_POP":                        true,
		"COVAR_SAMP":                       true,
		"CREATE":                           true,
		"CROSS":                            true,
		"CUBE":                             true,
		"CUME_DIST":                        true,
		"CURRENT":                          true,
		"CURRENT_CATALOG":                  true,
		"CURRENT_DATE":                     true,
		"CURRENT_DEFAULT_TRANSFORM_GROUP":  true,
		"CURRENT_PATH":                     true,
		"CURRENT_ROLE":                     true,
		"CURRENT_SCHEMA":                   true,
		"CURRENT_TIME":                     true,
		"CURRENT_TIMESTAMP":                true,
		"CURRENT_TRANSFORM_GROUP_FOR_TYPE": true,
		"CURRENT_USER":                     true,
		"CURSOR":                           true,
		"CYCLE":                            true,
		"DATA":                             true,
		"DATABASE":                         true,
		"DATE":                             true,
		"DAY":                              true,
		"DBCC":                             true,
		"DEALLOCATE":                       true,
		"DEC":                              true,
		"DECIMAL":                          true,
		"DECLARE":                          true,
		"DEFAULT":                          true,
		"DEFERRABLE":                       true,
		"DEFERRED":                         true,
		"DELETE":                           true,
		"DENY":                             true,
		"DEPTH":                            true,
		"DEREF":                            true,
		"DESC":                             true,
		"DESCRIBE":                         true,
		"DESCRIPTOR":                       true,
		"DESTROY":                          true,
		"DESTRUCTOR":                       true,
		"DETERMINISTIC":                    true,
		"DIAGNOSTICS":                      true,
		"DICTIONARY":                       true,
		"DISCONNECT":                       true,
		"DISK":                             true,
		"DISTINCT":                         true,
		"DISTRIBUTED":                      true,
		"DOMAIN":                           true,
		"DOUBLE":                           true,
		"DROP":                             true,
		"DUMP":                             true,
		"DYNAMIC":                          true,
		"EACH":                             true,
		"ELEMENT":                          true,
		"ELSE":                             true,
		"END":                              true,
		"END-EXEC":                         true,
		"EQUALS":                           true,
		"ERRLVL":                           true,
		"ESCAPE":                           true,
		"EVERY":                            true,
		"EXCEPT":                           true,
		"EXCEPTION":                        true,
		"EXEC":                             true,
		"EXECUTE":                          true,
		"EXISTS":                           true,
		"EXIT":                             true,
		"EXTERNAL":                         true,
		"EXTRACT":                          true,
		"FALSE":                            true,
		"FETCH":                            true,
		"FILE":                             true,
		"FILLFACTOR":                       true,
		"FILTER":                           true,
		"FIRST":                            true,
		"FLOAT":                            true,
		"FOR":                              true,
		"FOREIGN":                          true,
		"FORTRAN":                          true,
		"FOUND":                            true,
		"FREE":                             true,
		"FREETEXT":                         true,
		"FREETEXTTABLE":                    true,
		"FROM":                             true,
		"FULL":                             true,
		"FULLTEXTTABLE":                    true,
		"FUNCTION":                         true,
		"FUSION":                           true,
		"GENERAL":                          true,
		"GET":                              true,
		"GLOBAL":                           true,
		"GO":                               true,
		"GOTO":                             true,
		"GRANT":                            true,
		"GROUP":                            true,
		"GROUPING":                         true,
		"HAVING":                           true,
		"HOLD":                             true,
		"HOLDLOCK":                         true,
		"HOST":                             true,
		"HOUR":                             true,
		"IDENTITY":                         true,
		"IDENTITY_INSERT":                  true,
		"IDENTITYCOL":                      true,
		"IF":                               true,
		"IGNORE":                           true,
		"IMMEDIATE":                        true,
		"IN":                               true,
		"INCLUDE":                          true,
		"INDEX":                            true,
		"INDICATOR":                        true,
		"INITIALIZE":                       true,
		"INITIALLY":                        true,
		"INNER":                            true,
		"INOUT":                            true,
		"INPUT":                            true,
		"INSENSITIVE":                      true,
		"INSERT":                           true,
		"INT":                              true,
		"INTEGER":                          true,
		"INTERSECT":                        true,
		"INTERSECTION":                     true,
		"INTERVAL":                         true,
		"INTO":                             true,
		"IS":                               true,
		"ISOLATION":                        true,
		"ITERATE":                          true,
		"JOIN":                             true,
		"KEY":                              true,
		"KILL":                             true,
		"LANGUAGE":                         true,
		"LARGE":                            true,
		"LAST":                             true,
		"LATERAL":                          true,
		"LEADING":                          true,
		"LEFT":                             true,
		"LESS":                             true,
		"LEVEL":                            true,
		"LIKE":                             true,
		"LIKE_REGEX":                       true,
		"LIMIT":                            true,
		"LINENO":                           true,
		"LN":                               true,
		"LOAD":                             true,
		"LOCAL":                            true,
		"LOCALTIME":                        true,
		"LOCALTIMESTAMP":                   true,
		"LOCATOR":                          true,
		"LOWER":                            true,
		"MAP":                              true,
		"MATCH":                            true,
		"MAX":                              true,
		"MEMBER":                           true,
		"MERGE":                            true,
		"METHOD":                           true,
		"MIN":                              true,
		"MINUTE":                           true,
		"MOD":                              true,
		"MODIFIES":                         true,
		"MODIFY":                           true,
		"MODULE":                           true,
		"MONTH":                            true,
		"MULTISET":                         true,
		"NAMES":                            true,
		"NATIONAL":                         true,
		"NATURAL":                          true,
		"NCHAR":                            true,
		"NCLOB":                            true,
		"NEW":                              true,
		"NEXT":                             true,
		"NO":                               true,
		"NOCHECK":                          true,
		"NONCLUSTERED":                     true,
		"NONE":                             true,
		"NORMALIZE":                        true,
		"NOT":                              true,
		"NULL":                             true,
		"NULLIF":                           true,
		"NUMERIC":                          true,
		"OBJECT":                           true,
		"OCCURRENCES_REGEX":                true,
		"OCTET_LENGTH":                     true,
		"OF":                               true,
		"OFF":                              true,
		"OFFSETS":                          true,
		"OLD":                              true,
		"ON":                               true,
		"ONLY":                             true,
		"OPEN":                             true,
		"OPENDATASOURCE":                   true,
		"OPENQUERY":                        true,
		"OPENROWSET":                       true,
		"OPENXML":                          true,
		"OPERATION":                        true,
		"OPTION":                           true,
		"OR":                               true,
		"ORDER":                            true,
		"ORDINALITY":                       true,
		"OUT":                              true,
		"OUTER":                            true,
		"OUTPUT":                           true,
		"OVER":                             true,
		"OVERLAPS":                         true,
		"OVERLAY":                          true,
		"PAD":                              true,
		"PARAMETER":                        true,
		"PARAMETERS":                       true,
		"PARTIAL":                          true,
		"PARTITION":                        true,
		"PASCAL":                           true,
		"PERCENT":                          true,
		"PERCENT_RANK":                     true,
		"PERCENTILE_CONT":                  true,
		"PERCENTILE_DISC":                  true,
		"PIVOT":                            true,
		"PLAN":                             true,
		"POSITION":                         true,
		"POSITION_REGEX":                   true,
		"POSTFIX":                          true,
		"PRECISION":                        true,
		"PREFIX":                           true,
		"PREORDER":                         true,
		"PREPARE":                          true,
		"PRESERVE":                         true,
		"PRIMARY":                          true,
		"PRINT":                            true,
		"PRIOR":                            true,
		"PRIVILEGES":                       true,
		"PROC":                             true,
		"PROCEDURE":                        true,
		"PUBLIC":                           true,
		"RAISERROR":                        true,
		"RANGE":                            true,
		"READ":                             true,
		"READS":                            true,
		"READTEXT":                         true,
		"REAL":                             true,
		"RECONFIGURE":                      true,
		"RECURSIVE":                        true,
		"REF":                              true,
		"REFERENCES":                       true,
		"REFERENCING":                      true,
		"REGR_AVGX":                        true,
		"REGR_AVGY":                        true,
		"REGR_COUNT":                       true,
		"REGR_INTERCEPT":                   true,
		"REGR_R2":                          true,
		"REGR_SLOPE":                       true,
		"REGR_SXX":                         true,
		"REGR_SXY":                         true,
		"REGR_SYY":                         true,
		"RELATIVE":                         true,
		"RELEASE":                          true,
		"REPLICATION":                      true,
		"RESTORE":                          true,
		"RESTRICT":                         true,
		"RESULT":                           true,
		"RETURN":                           true,
		"RETURNS":                          true,
		"REVERT":                           true,
		"REVOKE":                           true,
		"RIGHT":                            true,
		"ROLE":                             true,
		"ROLLBACK":                         true,
		"ROLLUP":                           true,
		"ROUTINE":                          true,
		"ROW":                              true,
		"ROWCOUNT":                         true,
		"ROWGUIDCOL":                       true,
		"ROWS":                             true,
		"RULE":                             true,
		"SAVE":                             true,
		"SAVEPOINT":                        true,
		"SCHEMA":                           true,
		"SCOPE":                            true,
		"SCROLL":                           true,
		"SEARCH":                           true,
		"SECOND":                           true,
		"SECTION":                          true,
		"SECURITYAUDIT":                    true,
		"SELECT":                           true,
		"SEMANTICKEYPHRASETABLE":           true,
		"SEMANTICSIMILARITYDETAILSTABLE":   true,
		"SEMANTICSIMILARITYTABLE":          true,
		"SENSITIVE":                        true,
		"SEQUENCE":                         true,
		"SESSION":                          true,
		"SESSION_USER":                     true,
		"SET":                              true,
		"SETS":                             true,
		"SETUSER":                          true,
		"SHUTDOWN":                         true,
		"SIMILAR":                          true,
		"SIZE":                             true,
		"SMALLINT":                         true,
		"SOME":                             true,
		"SPACE":                            true,
		"SPECIFIC":                         true,
		"SPECIFICTYPE":                     true,
		"SQL":                              true,
		"SQLCA":                            true,
		"SQLCODE":                          true,
		"SQLERROR":                         true,
		"SQLEXCEPTION":                     true,
		"SQLSTATE":                         true,
		"SQLWARNING":                       true,
		"START":                            true,
		"STATE":                            true,
		"STATEMENT":                        true,
		"STATIC":                           true,
		"STATISTICS":                       true,
		"STDDEV_POP":                       true,
		"STDDEV_SAMP":                      true,
		"STRUCTURE":                        true,
		"SUBMULTISET":                      true,
		"SUBSTRING":                        true,
		"SUBSTRING_REGEX":                  true,
		"SUM":                              true,
		"SYMMETRIC":                        true,
		"SYSTEM":                           true,
		"SYSTEM_USER":                      true,
		"TABLE":                            true,
		"TABLESAMPLE":                      true,
		"TEMPORARY":                        true,
		"TERMINATE":                        true,
		"TEXTSIZE":                         true,
		"THAN":                             true,
		"THEN":                             true,
		"TIME":                             true,
		"TIMEZONE_HOUR":                    true,
		"TIMEZONE_MINUTE":                  true,
		"TO":                               true,
		"TOP":                              true,
		"TRAILING":                         true,
		"TRAN":                             true,
		"TRANSACTION":                      true,
		"TRANSLATE":                        true,
		"TRANSLATE_REGEX":                  true,
		"TRANSLATION":                      true,
		"TREAT":                            true,
		"TRIGGER":                          true,
		"TRIM":                             true,
		"TRUE":                             true,
		"TRUNCATE":                         true,
		"TRY_CONVERT":                      true,
		"TSEQUAL":                          true,
		"UESCAPE":                          true,
		"UNDER":                            true,
		"UNION":                            true,
		"UNIQUE":                           true,
		"UNKNOWN":                          true,
		"UNNEST":                           true,
		"UNPIVOT":                          true,
		"UPDATE":                           true,
		"UPDATETEXT":                       true,
		"UPPER":                            true,
		"USAGE":                            true,
		"USE":                              true,
		"USER":                             true,
		"USING":                            true,
		"VALUE":                            true,
		"VALUES":                           true,
		"VAR_POP":                          true,
		"VAR_SAMP":                         true,
		"VARCHAR":                          true,
		"VARIABLE":                         true,
		"VARYING":                          true,
		"VIEW":                             true,
		"WAITFOR":                          true,
		"WHEN":                             true,
		"WHENEVER":                         true,
		"WHERE":                            true,
		"WHILE":                            true,
		"WIDTH_BUCKET":                     true,
		"WINDOW":                           true,
		"WITH":                             true,
		"WITHIN":                           true,
		"WITHINGROUP":                      true,
		"WITHOUT":                          true,
		"WORK":                             true,
		"WRITE":                            true,
		"WRITETEXT":                        true,
		"XMLAGG":                           true,
		"XMLATTRIBUTES":                    true,
		"XMLBINARY":                        true,
		"XMLCAST":                          true,
		"XMLCOMMENT":                       true,
		"XMLCONCAT":                        true,
		"XMLDOCUMENT":                      true,
		"XMLELEMENT":                       true,
		"XMLEXISTS":                        true,
		"XMLFOREST":                        true,
		"XMLITERATE":                       true,
		"XMLNAMESPACES":                    true,
		"XMLPARSE":                         true,
		"XMLPI":                            true,
		"XMLQUERY":                         true,
		"XMLSERIALIZE":                     true,
		"XMLTABLE":                         true,
		"XMLTEXT":                          true,
		"XMLVALIDATE":                      true,
		"YEAR":                             true,
		"ZONE":                             true,
	},
	"MSSQL": {
		"ABSOLUTE":                         true,
		"ACTION":                           true,
		"ADA":                              true,
		"ADD":                              true,
		"ADMIN":                            true,
		"AFTER":                            true,
		"AGGREGATE":                        true,
		"ALIAS":                            true,
		"ALL":                              true,
		"ALLOCATE":                         true,
		"ALTER":                            true,
		"AND":                              true,
		"ANY":                              true,
		"ARE":                              true,
		"ARRAY":                            true,
		"AS":                               true,
		"ASC":                              true,
		"ASENSITIVE":                       true,
		"ASSERTION":                        true,
		"ASYMMETRIC":                       true,
		"AT":                               true,
		"ATOMIC":                           true,
		"AUTHORIZATION":                    true,
		"AVG":                              true,
		"BACKUP":                           true,
		"BEFORE":                           true,
		"BEGIN":                            true,
		"BETWEEN":                          true,
		"BINARY":                           true,
		"BIT":                              true,
		"BIT_LENGTH":                       true,
		"BLOB":                             true,
		"BOOLEAN":                          true,
		"BOTH":                             true,
		"BREADTH":                          true,
		"BREAK":                            true,
		"BROWSE":                           true,
		"BULK":                             true,
		"BY":                               true,
		"CALL":                             true,
		"CALLED":                           true,
		"CARDINALITY":                      true,
		"CASCADE":                          true,
		"CASCADED":                         true,
		"CASE":                             true,
		"CAST":                             true,
		"CATALOG":                          true,
		"CHAR":                             true,
		"CHAR_LENGTH":                      true,
		"CHARACTER":                        true,
		"CHARACTER_LENGTH":                 true,
		"CHECK":                            true,
		"CHECKPOINT":                       true,
		"CLASS":                            true,
		"CLOB":                             true,
		"CLOSE":                            true,
		"CLUSTERED":                        true,
		"COALESCE":                         true,
		"COLLATE":                          true,
		"COLLATION":                        true,
		"COLLECT":                          true,
		"COLUMN":                           true,
		"COMMIT":                           true,
		"COMPLETION":                       true,
		"COMPUTE":                          true,
		"CONDITION":                        true,
		"CONNECT":                          true,
		"CONNECTION":                       true,
		"CONSTRAINT":                       true,
		"CONSTRAINTS":                      true,
		"CONTAINS":                         true,
		"CONTAINSTABLE":                    true,
		"CONTINUE":                         true,
		"CONVERT":                          true,
		"CORR":                             true,
		"CORRESPONDING":                    true,
		"COUNT":                            true,
		"COVAR_POP":                        true,
		"COVAR_SAMP":                       true,
		"CREATE":                           true,
		"CROSS":                            true,
		"CUBE":                             true,
		"CUME_DIST":                        true,
		"CURRENT":                          true,
		"CURRENT_CATALOG":                  true,
		"CURRENT_DATE":                     true,
		"CURRENT_DEFAULT_TRANSFORM_GROUP":  true,
		"CURRENT_PATH":                     true,
		"CURRENT_ROLE":                     true,
		"CURRENT_SCHEMA":                   true,
		"CURRENT_TIME":                     true,
		"CURRENT_TIMESTAMP":                true,
		"CURRENT_TRANSFORM_GROUP_FOR_TYPE": true,
		"CURRENT_USER":                     true,
		"CURSOR":                           true,
		"CYCLE":                            true,
		"DATA":                             true,
		"DATABASE":                         true,
		"DATE":                             true,
		"DAY":                              true,
		"DBCC":                             true,
		"DEALLOCATE":                       true,
		"DEC":                              true,
		"DECIMAL":                          true,
		"DECLARE":                          true,
		"DEFAULT":                          true,
		"DEFERRABLE":                       true,
		"DEFERRED":                         true,
		"DELETE":                           true,
		"DENY":                             true,
		"DEPTH":                            true,
		"DEREF":                            true,
		"DESC":                             true,
		"DESCRIBE":                         true,
		"DESCRIPTOR":                       true,
		"DESTROY":                          true,
		"DESTRUCTOR":                       true,
		"DETERMINISTIC":                    true,
		"DIAGNOSTICS":                      true,
		"DICTIONARY":                       true,
		"DISCONNECT":                       true,
		"DISK":                             true,
		"DISTINCT":                         true,
		"DISTRIBUTED":                      true,
		"DOMAIN":                           true,
		"DOUBLE":                           true,
		"DROP":                             true,
		"DUMP":                             true,
		"DYNAMIC":                          true,
		"EACH":                             true,
		"ELEMENT":                          true,
		"ELSE":                             true,
		"END":                              true,
		"END-EXEC":                         true,
		"EQUALS":                           true,
		"ERRLVL":                           true,
		"ESCAPE":                           true,
		"EVERY":                            true,
		"EXCEPT":                           true,
		"EXCEPTION":                        true,
		"EXEC":                             true,
		"EXECUTE":                          true,
		"EXISTS":                           true,
		"EXIT":                             true,
		"EXTERNAL":                         true,
		"EXTRACT":                          true,
		"FALSE":                            true,
		"FETCH":                            true,
		"FILE":                             true,
		"FILLFACTOR":                       true,
		"FILTER":                           true,
		"FIRST":                            true,
		"FLOAT":                            true,
		"FOR":                              true,
		"FOREIGN":                          true,
		"FORTRAN":                          true,
		"FOUND":                            true,
		"FREE":                             true,
		"FREETEXT":                         true,
		"FREETEXTTABLE":                    true,
		"FROM":                             true,
		"FULL":                             true,
		"FULLTEXTTABLE":                    true,
		"FUNCTION":                         true,
		"FUSION":                           true,
		"GENERAL":                          true,
		"GET":                              true,
		"GLOBAL":                           true,
		"GO":                               true,
		"GOTO":                             true,
		"GRANT":                            true,
		"GROUP":                            true,
		"GROUPING":                         true,
		"HAVING":                           true,
		"HOLD":                             true,
		"HOLDLOCK":                         true,
		"HOST":                             true,
		"HOUR":                             true,
		"IDENTITY":                         true,
		"IDENTITY_INSERT":                  true,
		"IDENTITYCOL":                      true,
		"IF":                               true,
		"IGNORE":                           true,
		"IMMEDIATE":                        true,
		"IN":                               true,
		"INCLUDE":                          true,
		"INDEX":                            true,
		"INDICATOR":                        true,
		"INITIALIZE":                       true,
		"INITIALLY":                        true,
		"INNER":                            true,
		"INOUT":                            true,
		"INPUT":                            true,
		"INSENSITIVE":                      true,
		"INSERT":                           true,
		"INT":                              true,
		"INTEGER":                          true,
		"INTERSECT":                        true,
		"INTERSECTION":                     true,
		"INTERVAL":                         true,
		"INTO":                             true,
		"IS":                               true,
		"ISOLATION":                        true,
		"ITERATE":                          true,
		"JOIN":                             true,
		"KEY":                              true,
		"KILL":                             true,
		"LANGUAGE":                         true,
		"LARGE":                            true,
		"LAST":                             true,
		"LATERAL":                          true,
		"LEADING":                          true,
		"LEFT":                             true,
		"LESS":                             true,
		"LEVEL":                            true,
		"LIKE":                             true,
		"LIKE_REGEX":                       true,
		"LIMIT":                            true,
		"LINENO":                           true,
		"LN":                               true,
		"LOAD":                             true,
		"LOCAL":                            true,
		"LOCALTIME":                        true,
		"LOCALTIMESTAMP":                   true,
		"LOCATOR":                          true,
		"LOWER":                            true,
		"MAP":                              true,
		"MATCH":                            true,
		"MAX":                              true,
		"MEMBER":                           true,
		"MERGE":                            true,
		"METHOD":                           true,
		"MIN":                              true,
		"MINUTE":                           true,
		"MOD":                              true,
		"MODIFIES":                         true,
		"MODIFY":                           true,
		"MODULE":                           true,
		"MONTH":                            true,
		"MULTISET":                         true,
		"NAMES":                            true,
		"NATIONAL":                         true,
		"NATURAL":                          true,
		"NCHAR":                            true,
		"NCLOB":                            true,
		"NEW":                              true,
		"NEXT":                             true,
		"NO":                               true,
		"NOCHECK":                          true,
		"NONCLUSTERED":                     true,
		"NONE":                             true,
		"NORMALIZE":                        true,
		"NOT":                              true,
		"NULL":                             true,
		"NULLIF":                           true,
		"NUMERIC":                          true,
		"OBJECT":                           true,
		"OCCURRENCES_REGEX":                true,
		"OCTET_LENGTH":                     true,
		"OF":                               true,
		"OFF":                              true,
		"OFFSETS":                          true,
		"OLD":                              true,
		"ON":                               true,
		"ONLY":                             true,
		"OPEN":                             true,
		"OPENDATASOURCE":                   true,
		"OPENQUERY":                        true,
		"OPENROWSET":                       true,
		"OPENXML":                          true,
		"OPERATION":                        true,
		"OPTION":                           true,
		"OR":                               true,
		"ORDER":                            true,
		"ORDINALITY":                       true,
		"OUT":                              true,
		"OUTER":                            true,
		"OUTPUT":                           true,
		"OVER":                             true,
		"OVERLAPS":                         true,
		"OVERLAY":                          true,
		"PAD":                              true,
		"PARAMETER":                        true,
		"PARAMETERS":                       true,
		"PARTIAL":                          true,
		"PARTITION":                        true,
		"PASCAL":                           true,
		"PERCENT":                          true,
		"PERCENT_RANK":                     true,
		"PERCENTILE_CONT":                  true,
		"PERCENTILE_DISC":                  true,
		"PIVOT":                            true,
		"PLAN":                             true,
		"POSITION":                         true,
		"POSITION_REGEX":                   true,
		"POSTFIX":                          true,
		"PRECISION":                        true,
		"PREFIX":                           true,
		"PREORDER":                         true,
		"PREPARE":                          true,
		"PRESERVE":                         true,
		"PRIMARY":                          true,
		"PRINT":                            true,
		"PRIOR":                            true,
		"PRIVILEGES":                       true,
		"PROC":                             true,
		"PROCEDURE":                        true,
		"PUBLIC":                           true,
		"RAISERROR":                        true,
		"RANGE":                            true,
		"READ":                             true,
		"READS":                            true,
		"READTEXT":                         true,
		"REAL":                             true,
		"RECONFIGURE":                      true,
		"RECURSIVE":                        true,
		"REF":                              true,
		"REFERENCES":                       true,
		"REFERENCING":                      true,
		"REGR_AVGX":                        true,
		"REGR_AVGY":                        true,
		"REGR_COUNT":                       true,
		"REGR_INTERCEPT":                   true,
		"REGR_R2":                          true,
		"REGR_SLOPE":                       true,
		"REGR_SXX":                         true,
		"REGR_SXY":                         true,
		"REGR_SYY":                         true,
		"RELATIVE":                         true,
		"RELEASE":                          true,
		"REPLICATION":                      true,
		"RESTORE":                          true,
		"RESTRICT":                         true,
		"RESULT":                           true,
		"RETURN":                           true,
		"RETURNS":                          true,
		"REVERT":                           true,
		"REVOKE":                           true,
		"RIGHT":                            true,
		"ROLE":                             true,
		"ROLLBACK":                         true,
		"ROLLUP":                           true,
		"ROUTINE":                          true,
		"ROW":                              true,
		"ROWCOUNT":                         true,
		"ROWGUIDCOL":                       true,
		"ROWS":                             true,
		"RULE":                             true,
		"SAVE":                             true,
		"SAVEPOINT":                        true,
		"SCHEMA":                           true,
		"SCOPE":                            true,
		"SCROLL":                           true,
		"SEARCH":                           true,
		"SECOND":                           true,
		"SECTION":                          true,
		"SECURITYAUDIT":                    true,
		"SELECT":                           true,
		"SEMANTICKEYPHRASETABLE":           true,
		"SEMANTICSIMILARITYDETAILSTABLE":   true,
		"SEMANTICSIMILARITYTABLE":          true,
		"SENSITIVE":                        true,
		"SEQUENCE":                         true,
		"SESSION":                          true,
		"SESSION_USER":                     true,
		"SET":                              true,
		"SETS":                             true,
		"SETUSER":                          true,
		"SHUTDOWN":                         true,
		"SIMILAR":                          true,
		"SIZE":                             true,
		"SMALLINT":                         true,
		"SOME":                             true,
		"SPACE":                            true,
		"SPECIFIC":                         true,
		"SPECIFICTYPE":                     true,
		"SQL":                              true,
		"SQLCA":                            true,
		"SQLCODE":                          true,
		"SQLERROR":                         true,
		"SQLEXCEPTION":                     true,
		"SQLSTATE":                         true,
		"SQLWARNING":                       true,
		"START":                            true,
		"STATE":                            true,
		"STATEMENT":                        true,
		"STATIC":                           true,
		"STATISTICS":                       true,
		"STDDEV_POP":                       true,
		"STDDEV_SAMP":                      true,
		"STRUCTURE":                        true,
		"SUBMULTISET":                      true,
		"SUBSTRING":                        true,
		"SUBSTRING_REGEX":                  true,
		"SUM":                              true,
		"SYMMETRIC":                        true,
		"SYSTEM":                           true,
		"SYSTEM_USER":                      true,
		"TABLE":                            true,
		"TABLESAMPLE":                      true,
		"TEMPORARY":                        true,
		"TERMINATE":                        true,
		"TEXTSIZE":                         true,
		"THAN":                             true,
		"THEN":                             true,
		"TIME":                             true,
		"TIMEZONE_HOUR":                    true,
		"TIMEZONE_MINUTE":                  true,
		"TO":                               true,
		"TOP":                              true,
		"TRAILING":                         true,
		"TRAN":                             true,
		"TRANSACTION":                      true,
		"TRANSLATE":                        true,
		"TRANSLATE_REGEX":                  true,
		"TRANSLATION":                      true,
		"TREAT":                            true,
		"TRIGGER":                          true,
		"TRIM":                             true,
		"TRUE":                             true,
		"TRUNCATE":                         true,
		"TRY_CONVERT":                      true,
		"TSEQUAL":                          true,
		"UESCAPE":                          true,
		"UNDER":                            true,
		"UNION":                            true,
		"UNIQUE":                           true,
		"UNKNOWN":                          true,
		"UNNEST":                           true,
		"UNPIVOT":                          true,
		"UPDATE":                           true,
		"UPDATETEXT":                       true,
		"UPPER":                            true,
		"USAGE":                            true,
		"USE":                              true,
		"USER":                             true,
		"USING":                            true,
		"VALUE":                            true,
		"VALUES":                           true,
		"VAR_POP":                          true,
		"VAR_SAMP":                         true,
		"VARCHAR":                          true,
		"VARIABLE":                         true,
		"VARYING":                          true,
		"VIEW":                             true,
		"WAITFOR":                          true,
		"WHEN":                             true,
		"WHENEVER":                         true,
		"WHERE":                            true,
		"WHILE":                            true,
		"WIDTH_BUCKET":                     true,
		"WINDOW":                           true,
		"WITH":                             true,
		"WITHIN":                           true,
		"WITHINGROUP":                      true,
		"WITHOUT":                          true,
		"WORK":                             true,
		"WRITE":                            true,
		"WRITETEXT":                        true,
		"XMLAGG":                           true,
		"XMLATTRIBUTES":                    true,
		"XMLBINARY":                        true,
		"XMLCAST":                          true,
		"XMLCOMMENT":                       true,
		"XMLCONCAT":                        true,
		"XMLDOCUMENT":                      true,
		"XMLELEMENT":                       true,
		"XMLEXISTS":                        true,
		"XMLFOREST":                        true,
		"XMLITERATE":                       true,
		"XMLNAMESPACES":                    true,
		"XMLPARSE":                         true,
		"XMLPI":                            true,
		"XMLQUERY":                         true,
		"XMLSERIALIZE":                     true,
		"XMLTABLE":                         true,
		"XMLTEXT":                          true,
		"XMLVALIDATE":                      true,
		"YEAR":                             true,
		"ZONE":                             true,
	},
	"AZURE_SYNAPSE": {
		"ABSOLUTE":                         true,
		"ACTION":                           true,
		"ADA":                              true,
		"ADD":                              true,
		"ADMIN":                            true,
		"AFTER":                            true,
		"AGGREGATE":                        true,
		"ALIAS":                            true,
		"ALL":                              true,
		"ALLOCATE":                         true,
		"ALTER":                            true,
		"AND":                              true,
		"ANY":                              true,
		"ARE":                              true,
		"ARRAY":                            true,
		"AS":                               true,
		"ASC":                              true,
		"ASENSITIVE":                       true,
		"ASSERTION":                        true,
		"ASYMMETRIC":                       true,
		"AT":                               true,
		"ATOMIC":                           true,
		"AUTHORIZATION":                    true,
		"AVG":                              true,
		"BACKUP":                           true,
		"BEFORE":                           true,
		"BEGIN":                            true,
		"BETWEEN":                          true,
		"BINARY":                           true,
		"BIT":                              true,
		"BIT_LENGTH":                       true,
		"BLOB":                             true,
		"BOOLEAN":                          true,
		"BOTH":                             true,
		"BREADTH":                          true,
		"BREAK":                            true,
		"BROWSE":                           true,
		"BULK":                             true,
		"BY":                               true,
		"CALL":                             true,
		"CALLED":                           true,
		"CARDINALITY":                      true,
		"CASCADE":                          true,
		"CASCADED":                         true,
		"CASE":                             true,
		"CAST":                             true,
		"CATALOG":                          true,
		"CHAR":                             true,
		"CHAR_LENGTH":                      true,
		"CHARACTER":                        true,
		"CHARACTER_LENGTH":                 true,
		"CHECK":                            true,
		"CHECKPOINT":                       true,
		"CLASS":                            true,
		"CLOB":                             true,
		"CLOSE":                            true,
		"CLUSTERED":                        true,
		"COALESCE":                         true,
		"COLLATE":                          true,
		"COLLATION":                        true,
		"COLLECT":                          true,
		"COLUMN":                           true,
		"COMMIT":                           true,
		"COMPLETION":                       true,
		"COMPUTE":                          true,
		"CONDITION":                        true,
		"CONNECT":                          true,
		"CONNECTION":                       true,
		"CONSTRAINT":                       true,
		"CONSTRAINTS":                      true,
		"CONTAINS":                         true,
		"CONTAINSTABLE":                    true,
		"CONTINUE":                         true,
		"CONVERT":                          true,
		"CORR":                             true,
		"CORRESPONDING":                    true,
		"COUNT":                            true,
		"COVAR_POP":                        true,
		"COVAR_SAMP":                       true,
		"CREATE":                           true,
		"CROSS":                            true,
		"CUBE":                             true,
		"CUME_DIST":                        true,
		"CURRENT":                          true,
		"CURRENT_CATALOG":                  true,
		"CURRENT_DATE":                     true,
		"CURRENT_DEFAULT_TRANSFORM_GROUP":  true,
		"CURRENT_PATH":                     true,
		"CURRENT_ROLE":                     true,
		"CURRENT_SCHEMA":                   true,
		"CURRENT_TIME":                     true,
		"CURRENT_TIMESTAMP":                true,
		"CURRENT_TRANSFORM_GROUP_FOR_TYPE": true,
		"CURRENT_USER":                     true,
		"CURSOR":                           true,
		"CYCLE":                            true,
		"DATA":                             true,
		"DATABASE":                         true,
		"DATE":                             true,
		"DAY":                              true,
		"DBCC":                             true,
		"DEALLOCATE":                       true,
		"DEC":                              true,
		"DECIMAL":                          true,
		"DECLARE":                          true,
		"DEFAULT":                          true,
		"DEFERRABLE":                       true,
		"DEFERRED":                         true,
		"DELETE":                           true,
		"DENY":                             true,
		"DEPTH":                            true,
		"DEREF":                            true,
		"DESC":                             true,
		"DESCRIBE":                         true,
		"DESCRIPTOR":                       true,
		"DESTROY":                          true,
		"DESTRUCTOR":                       true,
		"DETERMINISTIC":                    true,
		"DIAGNOSTICS":                      true,
		"DICTIONARY":                       true,
		"DISCONNECT":                       true,
		"DISK":                             true,
		"DISTINCT":                         true,
		"DISTRIBUTED":                      true,
		"DOMAIN":                           true,
		"DOUBLE":                           true,
		"DROP":                             true,
		"DUMP":                             true,
		"DYNAMIC":                          true,
		"EACH":                             true,
		"ELEMENT":                          true,
		"ELSE":                             true,
		"END":                              true,
		"END-EXEC":                         true,
		"EQUALS":                           true,
		"ERRLVL":                           true,
		"ESCAPE":                           true,
		"EVERY":                            true,
		"EXCEPT":                           true,
		"EXCEPTION":                        true,
		"EXEC":                             true,
		"EXECUTE":                          true,
		"EXISTS":                           true,
		"EXIT":                             true,
		"EXTERNAL":                         true,
		"EXTRACT":                          true,
		"FALSE":                            true,
		"FETCH":                            true,
		"FILE":                             true,
		"FILLFACTOR":                       true,
		"FILTER":                           true,
		"FIRST":                            true,
		"FLOAT":                            true,
		"FOR":                              true,
		"FOREIGN":                          true,
		"FORTRAN":                          true,
		"FOUND":                            true,
		"FREE":                             true,
		"FREETEXT":                         true,
		"FREETEXTTABLE":                    true,
		"FROM":                             true,
		"FULL":                             true,
		"FULLTEXTTABLE":                    true,
		"FUNCTION":                         true,
		"FUSION":                           true,
		"GENERAL":                          true,
		"GET":                              true,
		"GLOBAL":                           true,
		"GO":                               true,
		"GOTO":                             true,
		"GRANT":                            true,
		"GROUP":                            true,
		"GROUPING":                         true,
		"HAVING":                           true,
		"HOLD":                             true,
		"HOLDLOCK":                         true,
		"HOST":                             true,
		"HOUR":                             true,
		"IDENTITY":                         true,
		"IDENTITY_INSERT":                  true,
		"IDENTITYCOL":                      true,
		"IF":                               true,
		"IGNORE":                           true,
		"IMMEDIATE":                        true,
		"IN":                               true,
		"INCLUDE":                          true,
		"INDEX":                            true,
		"INDICATOR":                        true,
		"INITIALIZE":                       true,
		"INITIALLY":                        true,
		"INNER":                            true,
		"INOUT":                            true,
		"INPUT":                            true,
		"INSENSITIVE":                      true,
		"INSERT":                           true,
		"INT":                              true,
		"INTEGER":                          true,
		"INTERSECT":                        true,
		"INTERSECTION":                     true,
		"INTERVAL":                         true,
		"INTO":                             true,
		"IS":                               true,
		"ISOLATION":                        true,
		"ITERATE":                          true,
		"JOIN":                             true,
		"KEY":                              true,
		"KILL":                             true,
		"LANGUAGE":                         true,
		"LARGE":                            true,
		"LAST":                             true,
		"LATERAL":                          true,
		"LEADING":                          true,
		"LEFT":                             true,
		"LESS":                             true,
		"LEVEL":                            true,
		"LIKE":                             true,
		"LIKE_REGEX":                       true,
		"LIMIT":                            true,
		"LINENO":                           true,
		"LN":                               true,
		"LOAD":                             true,
		"LOCAL":                            true,
		"LOCALTIME":                        true,
		"LOCALTIMESTAMP":                   true,
		"LOCATOR":                          true,
		"LOWER":                            true,
		"MAP":                              true,
		"MATCH":                            true,
		"MAX":                              true,
		"MEMBER":                           true,
		"MERGE":                            true,
		"METHOD":                           true,
		"MIN":                              true,
		"MINUTE":                           true,
		"MOD":                              true,
		"MODIFIES":                         true,
		"MODIFY":                           true,
		"MODULE":                           true,
		"MONTH":                            true,
		"MULTISET":                         true,
		"NAMES":                            true,
		"NATIONAL":                         true,
		"NATURAL":                          true,
		"NCHAR":                            true,
		"NCLOB":                            true,
		"NEW":                              true,
		"NEXT":                             true,
		"NO":                               true,
		"NOCHECK":                          true,
		"NONCLUSTERED":                     true,
		"NONE":                             true,
		"NORMALIZE":                        true,
		"NOT":                              true,
		"NULL":                             true,
		"NULLIF":                           true,
		"NUMERIC":                          true,
		"OBJECT":                           true,
		"OCCURRENCES_REGEX":                true,
		"OCTET_LENGTH":                     true,
		"OF":                               true,
		"OFF":                              true,
		"OFFSETS":                          true,
		"OLD":                              true,
		"ON":                               true,
		"ONLY":                             true,
		"OPEN":                             true,
		"OPENDATASOURCE":                   true,
		"OPENQUERY":                        true,
		"OPENROWSET":                       true,
		"OPENXML":                          true,
		"OPERATION":                        true,
		"OPTION":                           true,
		"OR":                               true,
		"ORDER":                            true,
		"ORDINALITY":                       true,
		"OUT":                              true,
		"OUTER":                            true,
		"OUTPUT":                           true,
		"OVER":                             true,
		"OVERLAPS":                         true,
		"OVERLAY":                          true,
		"PAD":                              true,
		"PARAMETER":                        true,
		"PARAMETERS":                       true,
		"PARTIAL":                          true,
		"PARTITION":                        true,
		"PASCAL":                           true,
		"PERCENT":                          true,
		"PERCENT_RANK":                     true,
		"PERCENTILE_CONT":                  true,
		"PERCENTILE_DISC":                  true,
		"PIVOT":                            true,
		"PLAN":                             true,
		"POSITION":                         true,
		"POSITION_REGEX":                   true,
		"POSTFIX":                          true,
		"PRECISION":                        true,
		"PREFIX":                           true,
		"PREORDER":                         true,
		"PREPARE":                          true,
		"PRESERVE":                         true,
		"PRIMARY":                          true,
		"PRINT":                            true,
		"PRIOR":                            true,
		"PRIVILEGES":                       true,
		"PROC":                             true,
		"PROCEDURE":                        true,
		"PUBLIC":                           true,
		"RAISERROR":                        true,
		"RANGE":                            true,
		"READ":                             true,
		"READS":                            true,
		"READTEXT":                         true,
		"REAL":                             true,
		"RECONFIGURE":                      true,
		"RECURSIVE":                        true,
		"REF":                              true,
		"REFERENCES":                       true,
		"REFERENCING":                      true,
		"REGR_AVGX":                        true,
		"REGR_AVGY":                        true,
		"REGR_COUNT":                       true,
		"REGR_INTERCEPT":                   true,
		"REGR_R2":                          true,
		"REGR_SLOPE":                       true,
		"REGR_SXX":                         true,
		"REGR_SXY":                         true,
		"REGR_SYY":                         true,
		"RELATIVE":                         true,
		"RELEASE":                          true,
		"REPLICATION":                      true,
		"RESTORE":                          true,
		"RESTRICT":                         true,
		"RESULT":                           true,
		"RETURN":                           true,
		"RETURNS":                          true,
		"REVERT":                           true,
		"REVOKE":                           true,
		"RIGHT":                            true,
		"ROLE":                             true,
		"ROLLBACK":                         true,
		"ROLLUP":                           true,
		"ROUTINE":                          true,
		"ROW":                              true,
		"ROWCOUNT":                         true,
		"ROWGUIDCOL":                       true,
		"ROWS":                             true,
		"RULE":                             true,
		"SAVE":                             true,
		"SAVEPOINT":                        true,
		"SCHEMA":                           true,
		"SCOPE":                            true,
		"SCROLL":                           true,
		"SEARCH":                           true,
		"SECOND":                           true,
		"SECTION":                          true,
		"SECURITYAUDIT":                    true,
		"SELECT":                           true,
		"SEMANTICKEYPHRASETABLE":           true,
		"SEMANTICSIMILARITYDETAILSTABLE":   true,
		"SEMANTICSIMILARITYTABLE":          true,
		"SENSITIVE":                        true,
		"SEQUENCE":                         true,
		"SESSION":                          true,
		"SESSION_USER":                     true,
		"SET":                              true,
		"SETS":                             true,
		"SETUSER":                          true,
		"SHUTDOWN":                         true,
		"SIMILAR":                          true,
		"SIZE":                             true,
		"SMALLINT":                         true,
		"SOME":                             true,
		"SPACE":                            true,
		"SPECIFIC":                         true,
		"SPECIFICTYPE":                     true,
		"SQL":                              true,
		"SQLCA":                            true,
		"SQLCODE":                          true,
		"SQLERROR":                         true,
		"SQLEXCEPTION":                     true,
		"SQLSTATE":                         true,
		"SQLWARNING":                       true,
		"START":                            true,
		"STATE":                            true,
		"STATEMENT":                        true,
		"STATIC":                           true,
		"STATISTICS":                       true,
		"STDDEV_POP":                       true,
		"STDDEV_SAMP":                      true,
		"STRUCTURE":                        true,
		"SUBMULTISET":                      true,
		"SUBSTRING":                        true,
		"SUBSTRING_REGEX":                  true,
		"SUM":                              true,
		"SYMMETRIC":                        true,
		"SYSTEM":                           true,
		"SYSTEM_USER":                      true,
		"TABLE":                            true,
		"TABLESAMPLE":                      true,
		"TEMPORARY":                        true,
		"TERMINATE":                        true,
		"TEXTSIZE":                         true,
		"THAN":                             true,
		"THEN":                             true,
		"TIME":                             true,
		"TIMEZONE_HOUR":                    true,
		"TIMEZONE_MINUTE":                  true,
		"TO":                               true,
		"TOP":                              true,
		"TRAILING":                         true,
		"TRAN":                             true,
		"TRANSACTION":                      true,
		"TRANSLATE":                        true,
		"TRANSLATE_REGEX":                  true,
		"TRANSLATION":                      true,
		"TREAT":                            true,
		"TRIGGER":                          true,
		"TRIM":                             true,
		"TRUE":                             true,
		"TRUNCATE":                         true,
		"TRY_CONVERT":                      true,
		"TSEQUAL":                          true,
		"UESCAPE":                          true,
		"UNDER":                            true,
		"UNION":                            true,
		"UNIQUE":                           true,
		"UNKNOWN":                          true,
		"UNNEST":                           true,
		"UNPIVOT":                          true,
		"UPDATE":                           true,
		"UPDATETEXT":                       true,
		"UPPER":                            true,
		"USAGE":                            true,
		"USE":                              true,
		"USER":                             true,
		"USING":                            true,
		"VALUE":                            true,
		"VALUES":                           true,
		"VAR_POP":                          true,
		"VAR_SAMP":                         true,
		"VARCHAR":                          true,
		"VARIABLE":                         true,
		"VARYING":                          true,
		"VIEW":                             true,
		"WAITFOR":                          true,
		"WHEN":                             true,
		"WHENEVER":                         true,
		"WHERE":                            true,
		"WHILE":                            true,
		"WIDTH_BUCKET":                     true,
		"WINDOW":                           true,
		"WITH":                             true,
		"WITHIN":                           true,
		"WITHINGROUP":                      true,
		"WITHOUT":                          true,
		"WORK":                             true,
		"WRITE":                            true,
		"WRITETEXT":                        true,
		"XMLAGG":                           true,
		"XMLATTRIBUTES":                    true,
		"XMLBINARY":                        true,
		"XMLCAST":                          true,
		"XMLCOMMENT":                       true,
		"XMLCONCAT":                        true,
		"XMLDOCUMENT":                      true,
		"XMLELEMENT":                       true,
		"XMLEXISTS":                        true,
		"XMLFOREST":                        true,
		"XMLITERATE":                       true,
		"XMLNAMESPACES":                    true,
		"XMLPARSE":                         true,
		"XMLPI":                            true,
		"XMLQUERY":                         true,
		"XMLSERIALIZE":                     true,
		"XMLTABLE":                         true,
		"XMLTEXT":                          true,
		"XMLVALIDATE":                      true,
		"YEAR":                             true,
		"ZONE":                             true,
	},
	"CLICKHOUSE": {},
}
View Source
var SnowflakeStorageMap = map[string]string{
	AWS:   S3,
	GCP:   GCS,
	AZURE: AZURE_BLOB,
}
View Source
var WHDestNameMap = map[string]string{
	BQ:             "bigquery",
	RS:             "redshift",
	MSSQL:          "mssql",
	POSTGRES:       "postgres",
	SNOWFLAKE:      "snowflake",
	CLICKHOUSE:     "clickhouse",
	DELTALAKE:      "deltalake",
	S3_DATALAKE:    "s3_datalake",
	GCS_DATALAKE:   "gcs_datalake",
	AZURE_DATALAKE: "azure_datalake",
	AZURE_SYNAPSE:  "azure_synapse",
}

Functions

func CaptureRegexGroup added in v1.0.2

func CaptureRegexGroup(r *regexp.Regexp, pattern string) (groups map[string]string, err error)

CaptureRegexGroup returns capture as per the regex provided

func CreateAWSSessionConfig added in v1.2.0

func CreateAWSSessionConfig(destination *backendconfig.DestinationT, serviceName string) (*awsutils.SessionConfig, error)

func DestStat

func DestStat(statType, statName, id string) stats.Measurement

func DoubleQuoteAndJoinByComma added in v0.1.10

func DoubleQuoteAndJoinByComma(elems []string) string

func ExtractTunnelInfoFromDestinationConfig added in v1.5.0

func ExtractTunnelInfoFromDestinationConfig(config map[string]interface{}) *tunnelling.TunnelInfo

func GetAzureBlobLocation

func GetAzureBlobLocation(location string) string

GetAzureBlobLocation parses path-style location http url to return in azure:// format https://myproject.blob.core.windows.net/test-bucket/test-object.csv --> azure://myproject.blob.core.windows.net/test-bucket/test-object.csv

func GetAzureBlobLocationFolder

func GetAzureBlobLocationFolder(location string) string

GetAzureBlobLocationFolder returns the folder path for an azure storage object https://myproject.blob.core.windows.net/test-bucket/myfolder/test-object.csv --> azure://myproject.blob.core.windows.net/myfolder

func GetColumnsFromTableSchema added in v1.2.0

func GetColumnsFromTableSchema(schema TableSchemaT) []string

func GetConfigValue

func GetConfigValue(key string, warehouse Warehouse) (val string)

func GetConfigValueAsMap added in v0.1.10

func GetConfigValueAsMap(key string, config map[string]interface{}) map[string]interface{}

func GetConfigValueBoolString added in v0.1.10

func GetConfigValueBoolString(key string, warehouse Warehouse) string

func GetDateRangeList added in v1.0.2

func GetDateRangeList(start, end time.Time, dateFormat string) (dateRange []string)

func GetGCSLocation

func GetGCSLocation(location string, options GCSLocationOptionsT) string

GetGCSLocation parses path-style location http url to return in gcs:// format https://storage.googleapis.com/test-bucket/test-object.csv --> gcs://test-bucket/test-object.csv tldFormat is used to set return format "<tldFormat>://..."

func GetGCSLocationFolder

func GetGCSLocationFolder(location string, options GCSLocationOptionsT) string

GetGCSLocationFolder returns the folder path for a gcs object https://storage.googleapis.com/test-bucket/myfolder/test-object.csv --> gcs://test-bucket/myfolder

func GetGCSLocations

func GetGCSLocations(loadFiles []LoadFileT, options GCSLocationOptionsT) (gcsLocations []string)

func GetLastFailedStatus added in v0.1.10

func GetLastFailedStatus(str sql.NullString) (status string)

func GetLoadFileFormat added in v0.1.10

func GetLoadFileFormat(whType string) string

func GetLoadFileGenTime added in v0.1.10

func GetLoadFileGenTime(str sql.NullString) (t time.Time)

func GetLoadFilePrefix added in v0.1.10

func GetLoadFilePrefix(timeWindow time.Time, warehouse Warehouse) (timeWindowFormat string)

func GetLoadFileType added in v0.1.10

func GetLoadFileType(wh string) string

func GetNamespace added in v0.1.10

func GetNamespace(source backendconfig.SourceT, destination backendconfig.DestinationT, dbHandle *sql.DB) (namespace string, exists bool)

func GetObjectFolder

func GetObjectFolder(provider, location string) (folder string)

GetObjectFolder returns the folder path for the storage object based on the storage provider eg. For provider as S3: https://test-bucket.s3.amazonaws.com/test-object.csv --> s3://test-bucket/test-object.csv

func GetObjectFolderForDeltalake added in v0.1.10

func GetObjectFolderForDeltalake(provider, location string) (folder string)

GetObjectFolderForDeltalake returns the folder path for the storage object based on the storage provider for delta lake eg. For provider as S3: https://<bucket-name>.s3.amazonaws.com/<directory-name> --> s3://<bucket-name>/<directory-name> eg. For provider as GCS: https://storage.cloud.google.com/<bucket-name>/<directory-name> --> gs://<bucket-name>/<directory-name> eg. For provider as AZURE_BLOB: https://<storage-account-name>.blob.core.windows.net/<container-name>/<directory-name> --> wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/<directory-name>

func GetObjectLocation added in v0.1.10

func GetObjectLocation(provider, location string) (objectLocation string)

GetObjectLocation returns the folder path for the storage object based on the storage provider e.g. For provider as S3: https://test-bucket.s3.amazonaws.com/test-object.csv --> s3://test-bucket/test-object.csv

func GetObjectName added in v0.1.10

func GetObjectName(location string, providerConfig interface{}, objectProvider string) (objectName string, err error)

GetObjectName extracts object/key objectName from different buckets locations ex: https://bucket-endpoint/bucket-name/object -> object

func GetParquetValue added in v0.1.10

func GetParquetValue(val interface{}, colType string) (retVal interface{}, err error)

func GetRequestWithTimeout added in v1.0.2

func GetRequestWithTimeout(ctx context.Context, url string, timeout time.Duration) ([]byte, error)

func GetS3Location

func GetS3Location(location string) (s3Location, region string)

GetS3Location parses path-style location http url to return in s3:// format [Path-style access] https://s3.amazonaws.com/test-bucket/test-object.csv --> s3://test-bucket/test-object.csv [Virtual-hosted–style access] https://test-bucket.s3.amazonaws.com/test-object.csv --> s3://test-bucket/test-object.csv TODO: Handle non regex matches.

func GetS3LocationFolder

func GetS3LocationFolder(location string) string

GetS3LocationFolder returns the folder path for a s3 object https://test-bucket.s3.amazonaws.com/myfolder/test-object.csv --> s3://test-bucket/myfolder

func GetSSLKeyDirPath added in v0.1.10

func GetSSLKeyDirPath(destinationID string) (whSSLRootDir string)

func GetTablePathInObjectStorage added in v0.1.10

func GetTablePathInObjectStorage(namespace, tableName string) string

GetTablePathInObjectStorage returns the path of the table relative to the object storage bucket <$WAREHOUSE_DATALAKE_FOLDER_NAME>/<namespace>/tableName

func GetTempFileExtension added in v0.1.10

func GetTempFileExtension(destType string) string

func GetTemporaryS3Cred added in v0.1.10

func GetTemporaryS3Cred(destination *backendconfig.DestinationT) (string, string, string, error)

func GetTimeWindow added in v0.1.10

func GetTimeWindow(ts time.Time) time.Time

func GetWarehouseIdentifier added in v0.1.10

func GetWarehouseIdentifier(destType, sourceID, destinationID string) string

func IDResolutionEnabled added in v0.1.10

func IDResolutionEnabled() bool

func IdentityMappingsTableName added in v0.1.10

func IdentityMappingsTableName(warehouse Warehouse) string

func IdentityMappingsUniqueMappingConstraintName added in v0.1.10

func IdentityMappingsUniqueMappingConstraintName(warehouse Warehouse) string

func IdentityMappingsWarehouseTableName added in v0.1.10

func IdentityMappingsWarehouseTableName(provider string) string

func IdentityMergeRulesTableName added in v0.1.10

func IdentityMergeRulesTableName(warehouse Warehouse) string

func IdentityMergeRulesWarehouseTableName added in v0.1.10

func IdentityMergeRulesWarehouseTableName(provider string) string

func Init added in v0.1.10

func Init()

func JSONSchemaToMap

func JSONSchemaToMap(rawMsg json.RawMessage) map[string]map[string]string

func JoinWithFormatting added in v0.1.10

func JoinWithFormatting(keys []string, format func(idx int, str string) string, separator string) string

JoinWithFormatting returns joined string for keys with the provided formatting function.

func NewCounterStat added in v0.1.10

func NewCounterStat(name string, extraTags ...Tag) stats.Measurement

func NewTimerStat added in v0.1.10

func NewTimerStat(name string, extraTags ...Tag) stats.Measurement

func ObjectStorageType

func ObjectStorageType(destType string, config interface{}, useRudderStorage bool) string

func PostRequestWithTimeout added in v1.0.2

func PostRequestWithTimeout(ctx context.Context, url string, payload []byte, timeout time.Duration) ([]byte, error)

func RandHex added in v1.4.0

func RandHex() string

RandHex returns a random hex string of length 32

func ReadAsBool added in v1.5.0

func ReadAsBool(key string, config map[string]interface{}) bool

func SnowflakeCloudProvider

func SnowflakeCloudProvider(config interface{}) string

func SortColumnKeysFromColumnMap added in v0.1.10

func SortColumnKeysFromColumnMap(columnMap map[string]string) []string

func StagingTableName added in v1.2.0

func StagingTableName(provider, tableName string, tableNameLimit int) string

func StagingTablePrefix added in v1.2.0

func StagingTablePrefix(provider string) string

func TimingFromJSONString added in v0.1.10

func TimingFromJSONString(str sql.NullString) (status string, recordedTime time.Time)

func ToProviderCase added in v0.1.10

func ToProviderCase(provider, str string) string

ToProviderCase converts string provided to case generally accepted in the warehouse for table, column, schema names etc. e.g. columns are uppercase in SNOWFLAKE and lowercase etc. in REDSHIFT, BIGQUERY etc

func ToSafeNamespace added in v0.1.10

func ToSafeNamespace(provider, name string) string

ToSafeNamespace convert name of the namespace to one acceptable by warehouse 1. Remove symbols and joins continuous letters and numbers with single underscore and if first char is a number will append an underscore before the first number 2. adds an underscore if the name is a reserved keyword in the warehouse 3. truncate the length of namespace to 127 characters 4. return "stringempty" if name is empty after conversion examples: omega to omega omega v2 to omega_v2 9mega to _9mega mega& to mega ome$ga to ome_ga omega$ to omega ome_ ga to ome_ga 9mega________-________90 to _9mega_90 Cízǔ to C_z

func WHCounterStat added in v1.0.2

func WHCounterStat(name string, warehouse *Warehouse, extraTags ...Tag) stats.Measurement

Types

type ColumnInfo added in v1.3.0

type ColumnInfo struct {
	Name  string
	Value interface{}
	Type  string
}

type CsvLoader added in v0.1.10

type CsvLoader struct {
	// contains filtered or unexported fields
}

CsvLoader is common for non-BQ warehouses. If you need any custom logic, either extend this or use destType and if/else/switch.

func NewCSVLoader added in v0.1.10

func NewCSVLoader(destType string, writer LoadFileWriterI) *CsvLoader

func (*CsvLoader) AddColumn added in v0.1.10

func (loader *CsvLoader) AddColumn(_, _ string, val interface{})

func (*CsvLoader) AddEmptyColumn added in v0.1.10

func (loader *CsvLoader) AddEmptyColumn(columnName string)

func (*CsvLoader) AddRow added in v0.1.10

func (loader *CsvLoader) AddRow(_, row []string)

func (*CsvLoader) GetLoadTimeFormat added in v1.3.0

func (*CsvLoader) GetLoadTimeFormat(_ string) string

func (*CsvLoader) IsLoadTimeColumn added in v0.1.10

func (loader *CsvLoader) IsLoadTimeColumn(columnName string) bool

func (*CsvLoader) Write added in v0.1.10

func (loader *CsvLoader) Write() error

func (*CsvLoader) WriteToString added in v0.1.10

func (loader *CsvLoader) WriteToString() (string, error)

type CsvReader added in v1.0.2

type CsvReader struct {
	// contains filtered or unexported fields
}

func NewCsvReader added in v0.1.10

func NewCsvReader(r io.Reader) *CsvReader

func (*CsvReader) Read added in v1.0.2

func (csv *CsvReader) Read(_ []string) (record []string, err error)

type DeleteByMetaData added in v1.2.0

type DeleteByMetaData struct {
	JobRunId  string `json:"job_run_id"`
	TaskRunId string `json:"task_run_id"`
	StartTime string `json:"start_time"`
}

type DeleteByParams added in v1.2.0

type DeleteByParams struct {
	SourceId  string
	JobRunId  string
	TaskRunId string
	StartTime string
}

type DestinationT

type DestinationT struct {
	Source      backendconfig.SourceT
	Destination backendconfig.DestinationT
}

type EventLoader added in v0.1.10

type EventLoader interface {
	IsLoadTimeColumn(columnName string) bool
	GetLoadTimeFormat(columnName string) string
	AddColumn(columnName, columnType string, val interface{})
	AddRow(columnNames, values []string)
	AddEmptyColumn(columnName string)
	WriteToString() (string, error)
	Write() error
}

func GetNewEventLoader added in v0.1.10

func GetNewEventLoader(destinationType, loadFileType string, w LoadFileWriterI) EventLoader

type EventReader added in v1.3.0

type EventReader interface {
	Read(columnNames []string) (record []string, err error)
}

func NewEventReader added in v0.1.10

func NewEventReader(r io.Reader, provider string) EventReader

type FilterBy added in v1.2.0

type FilterBy struct {
	Key   string
	Value interface{}
}

type GCSLocationOptionsT

type GCSLocationOptionsT struct {
	TLDFormat string
}

type GetLoadFilesOptionsT added in v0.1.10

type GetLoadFilesOptionsT struct {
	Table   string
	StartID int64
	EndID   int64
	Limit   int64
}

type JsonLoader added in v0.1.10

type JsonLoader struct {
	// contains filtered or unexported fields
}

JsonLoader is only for BQ now. Treat this is as custom BQ loader. If more warehouses are added in the future, change this accordingly.

func NewJSONLoader added in v0.1.10

func NewJSONLoader(destType string, writer LoadFileWriterI) *JsonLoader

func (*JsonLoader) AddColumn added in v0.1.10

func (loader *JsonLoader) AddColumn(columnName, _ string, val interface{})

func (*JsonLoader) AddEmptyColumn added in v0.1.10

func (loader *JsonLoader) AddEmptyColumn(columnName string)

func (*JsonLoader) AddRow added in v0.1.10

func (loader *JsonLoader) AddRow(columnNames, row []string)

func (*JsonLoader) GetLoadTimeFormat added in v1.3.0

func (loader *JsonLoader) GetLoadTimeFormat(columnName string) string

func (*JsonLoader) IsLoadTimeColumn added in v0.1.10

func (loader *JsonLoader) IsLoadTimeColumn(columnName string) bool

func (*JsonLoader) Write added in v0.1.10

func (loader *JsonLoader) Write() error

func (*JsonLoader) WriteToString added in v0.1.10

func (loader *JsonLoader) WriteToString() (string, error)

type JsonReader added in v1.0.2

type JsonReader struct {
	// contains filtered or unexported fields
}

func NewJSONReader added in v0.1.10

func NewJSONReader(r io.Reader) *JsonReader

func (*JsonReader) Read added in v1.0.2

func (js *JsonReader) Read(columnNames []string) (record []string, err error)

type KeyValue added in v1.0.2

type KeyValue struct {
	Key   string
	Value interface{}
}

type LoadFileT added in v0.1.10

type LoadFileT struct {
	Location string
	Metadata json.RawMessage
}

func GetS3Locations

func GetS3Locations(loadFiles []LoadFileT) []LoadFileT

type LoadFileWriterI added in v0.1.10

type LoadFileWriterI interface {
	WriteGZ(s string) error
	Write(p []byte) (int, error)
	WriteRow(r []interface{}) error
	Close() error
	GetLoadFile() *os.File
}

type ParquetLoader added in v0.1.10

type ParquetLoader struct {
	Schema     []string
	Values     []interface{}
	FileWriter LoadFileWriterI
	// contains filtered or unexported fields
}

ParquetLoader is used for generating parquet load files.

func NewParquetLoader added in v0.1.10

func NewParquetLoader(destType string, w LoadFileWriterI) *ParquetLoader

func (*ParquetLoader) AddColumn added in v0.1.10

func (loader *ParquetLoader) AddColumn(columnName, colType string, val interface{})

func (*ParquetLoader) AddEmptyColumn added in v0.1.10

func (loader *ParquetLoader) AddEmptyColumn(columnName string)

func (*ParquetLoader) AddRow added in v0.1.10

func (*ParquetLoader) AddRow(_, _ []string)

func (*ParquetLoader) GetLoadTimeFormat added in v1.3.0

func (*ParquetLoader) GetLoadTimeFormat(_ string) string

func (*ParquetLoader) IsLoadTimeColumn added in v0.1.10

func (loader *ParquetLoader) IsLoadTimeColumn(columnName string) bool

func (*ParquetLoader) Write added in v0.1.10

func (loader *ParquetLoader) Write() error

func (*ParquetLoader) WriteToString added in v0.1.10

func (*ParquetLoader) WriteToString() (string, error)

type ParquetWriter added in v0.1.10

type ParquetWriter struct {
	// contains filtered or unexported fields
}

func CreateParquetWriter added in v0.1.10

func CreateParquetWriter(schema TableSchemaT, outputFilePath, destType string) (*ParquetWriter, error)

func (*ParquetWriter) Close added in v0.1.10

func (p *ParquetWriter) Close() error

func (*ParquetWriter) GetLoadFile added in v0.1.10

func (p *ParquetWriter) GetLoadFile() *os.File

func (*ParquetWriter) Write added in v0.1.10

func (*ParquetWriter) Write(_ []byte) (int, error)

func (*ParquetWriter) WriteGZ added in v0.1.10

func (*ParquetWriter) WriteGZ(_ string) error

func (*ParquetWriter) WriteRow added in v0.1.10

func (p *ParquetWriter) WriteRow(row []interface{}) error

type PendingEventsRequestT added in v0.1.10

type PendingEventsRequestT struct {
	SourceID  string `json:"source_id"`
	TaskRunID string `json:"task_run_id"`
}

type PendingEventsResponseT added in v0.1.10

type PendingEventsResponseT struct {
	PendingEvents            bool  `json:"pending_events"`
	PendingStagingFilesCount int64 `json:"pending_staging_files"`
	PendingUploadCount       int64 `json:"pending_uploads"`
}

type QueryResult added in v0.1.10

type QueryResult struct {
	Columns []string
	Values  [][]string
}

type SchemaT added in v0.1.10

type SchemaT map[string]map[string]string

type TableSchemaDiffT added in v0.1.10

type TableSchemaDiffT struct {
	Exists                         bool
	TableToBeCreated               bool
	ColumnMap                      map[string]string
	UpdatedSchema                  map[string]string
	StringColumnsToBeAlteredToText []string
}

type TableSchemaT added in v0.1.10

type TableSchemaT map[string]string

type Tag added in v0.1.10

type Tag struct {
	Name  string
	Value string
}

type TriggerUploadRequestT added in v0.1.10

type TriggerUploadRequestT struct {
	SourceID      string `json:"source_id"`
	DestinationID string `json:"destination_id"`
}

type UploaderI added in v0.1.10

type UploaderI interface {
	GetSchemaInWarehouse() SchemaT
	GetLocalSchema() SchemaT
	UpdateLocalSchema(schema SchemaT) error
	GetTableSchemaInWarehouse(tableName string) TableSchemaT
	GetTableSchemaInUpload(tableName string) TableSchemaT
	GetLoadFilesMetadata(options GetLoadFilesOptionsT) []LoadFileT
	GetSampleLoadFileLocation(tableName string) (string, error)
	GetSingleLoadFile(tableName string) (LoadFileT, error)
	ShouldOnDedupUseNewRecord() bool
	UseRudderStorage() bool
	GetLoadFileGenStartTIme() time.Time
	GetLoadFileType() string
	GetFirstLastEvent() (time.Time, time.Time)
}

type Warehouse added in v1.2.0

type Warehouse struct {
	WorkspaceID string
	Source      backendconfig.SourceT
	Destination backendconfig.DestinationT
	Namespace   string
	Type        string
	Identifier  string
}

func (*Warehouse) GetBoolDestinationConfig added in v1.2.0

func (w *Warehouse) GetBoolDestinationConfig(key string) bool

type WriteSSLKeyError added in v0.1.10

type WriteSSLKeyError struct {
	// contains filtered or unexported fields
}

func WriteSSLKeys added in v0.1.10

func WriteSSLKeys(destination backendconfig.DestinationT) WriteSSLKeyError

WriteSSLKeys writes the ssl key(s) present in the destination config to the file system, this function checks whether a given config is already written to the file system, writes to the file system if the content is not already written

func (*WriteSSLKeyError) Error added in v0.1.10

func (err *WriteSSLKeyError) Error() string

func (*WriteSSLKeyError) GetErrTag added in v0.1.10

func (err *WriteSSLKeyError) GetErrTag() string

func (*WriteSSLKeyError) IsError added in v0.1.10

func (err *WriteSSLKeyError) IsError() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL