warehouseutils

package
v1.10.0-rc.2 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2023 License: AGPL-3.0 Imports: 32 Imported by: 1

Documentation

Index

Constants

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 (
	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"
	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 (
	CTStagingTablePrefix = "setup_test_staging"
)
View Source
const (
	DatalakeTimeWindowFormat = "2006/01/02/15"
)
View Source
const (
	DestinationType = "destinationType"
)
View Source
const (
	NotImplementedErrorCode = "not implemented"
)

Variables

View Source
var (
	AWSCredsExpiryInS int64

	TimeWindowDestinations    []string = []string{S3_DATALAKE, GCS_DATALAKE, AZURE_DATALAKE}
	WarehouseDestinations     []string = []string{RS, BQ, SNOWFLAKE, POSTGRES, CLICKHOUSE, MSSQL, AZURE_SYNAPSE, S3_DATALAKE, GCS_DATALAKE, AZURE_DATALAKE, DELTALAKE}
	IdentityEnabledWarehouses []string = []string{SNOWFLAKE, BQ}
	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 DeprecatedColumnsRegex = regexp.MustCompile(`.*-deprecated-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`)

DeprecatedColumnsRegex This regex is used to identify deprecated columns in the warehouse Example: abc-deprecated-dba626a7-406a-4757-b3e0-3875559c5840

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 model.TableSchema) []string

func GetConfigValue

func GetConfigValue(key string, warehouse model.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 model.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 GCSLocationOptions) 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 GCSLocationOptions) 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 []LoadFile, options GCSLocationOptions) (gcsLocations []string)

func GetLoadFileFormat added in v0.1.10

func GetLoadFileFormat(loadFileType string) string

func GetLoadFileType added in v0.1.10

func GetLoadFileType(destType string) string

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 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 model.Warehouse) string

func IdentityMappingsUniqueMappingConstraintName added in v0.1.10

func IdentityMappingsUniqueMappingConstraintName(warehouse model.Warehouse) string

func IdentityMappingsWarehouseTableName added in v0.1.10

func IdentityMappingsWarehouseTableName(provider string) string

func IdentityMergeRulesTableName added in v0.1.10

func IdentityMergeRulesTableName(warehouse model.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) model.Schema

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 SanitizeJSON added in v1.8.0

func SanitizeJSON(input json.RawMessage) json.RawMessage

func SanitizeString added in v1.8.0

func SanitizeString(input string) string

func SnowflakeCloudProvider

func SnowflakeCloudProvider(config interface{}) string

func SortColumnKeysFromColumnMap added in v0.1.10

func SortColumnKeysFromColumnMap(columnMap model.TableSchema) []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 *model.Warehouse, extraTags ...Tag) stats.Measurement

Types

type ColumnInfo added in v1.3.0

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

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 Destination added in v1.7.0

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

type FetchTableInfo added in v1.9.0

type FetchTableInfo struct {
	SourceID      string   `json:"source_id"`
	DestinationID string   `json:"destination_id"`
	Namespace     string   `json:"namespace"`
	Tables        []string `json:"tables"`
}

type FetchTablesRequest added in v1.9.0

type FetchTablesRequest struct {
	Connections []SourceIDDestinationID `json:"connections"`
}

type FetchTablesResponse added in v1.9.0

type FetchTablesResponse struct {
	ConnectionsTables []FetchTableInfo `json:"connections_tables"`
}

type FilterBy added in v1.2.0

type FilterBy struct {
	Key   string
	Value interface{}
}

type GCSLocationOptions added in v1.7.0

type GCSLocationOptions struct {
	TLDFormat string
}

type GetLoadFilesOptions added in v1.7.0

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

type KeyValue added in v1.0.2

type KeyValue struct {
	Key   string
	Value interface{}
}

type LoadFile added in v1.7.0

type LoadFile struct {
	Location string
	Metadata json.RawMessage
}

func GetS3Locations

func GetS3Locations(loadFiles []LoadFile) []LoadFile

type PendingEventsRequest added in v1.7.0

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

type PendingEventsResponse added in v1.7.0

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

type QueryResult added in v0.1.10

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

type Schema added in v1.7.0

type Schema model.Schema

type SourceIDDestinationID added in v1.9.0

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

type TableSchemaDiff added in v1.7.0

type TableSchemaDiff struct {
	Exists           bool
	TableToBeCreated bool
	ColumnMap        model.TableSchema
	UpdatedSchema    model.TableSchema
	AlteredColumnMap model.TableSchema
}

type Tag added in v0.1.10

type Tag struct {
	Name  string
	Value string
}

type TriggerUploadRequest added in v1.7.0

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

type Uploader added in v1.7.0

type Uploader interface {
	GetSchemaInWarehouse() model.Schema
	GetLocalSchema(ctx context.Context) (model.Schema, error)
	UpdateLocalSchema(ctx context.Context, schema model.Schema) error
	GetTableSchemaInWarehouse(tableName string) model.TableSchema
	GetTableSchemaInUpload(tableName string) model.TableSchema
	GetLoadFilesMetadata(ctx context.Context, options GetLoadFilesOptions) []LoadFile
	GetSampleLoadFileLocation(ctx context.Context, tableName string) (string, error)
	GetSingleLoadFile(ctx context.Context, tableName string) (LoadFile, error)
	ShouldOnDedupUseNewRecord() bool
	UseRudderStorage() bool
	GetLoadFileGenStartTIme() time.Time
	GetLoadFileType() string
	GetFirstLastEvent() (time.Time, time.Time)
}

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