warehouseutils

package
v0.0.0-...-0ade494 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2022 License: AGPL-3.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

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

warehouse table names

View Source
const (
	DiscardsTable           = "rudder_discards"
	IdentityMergeRulesTable = "rudder_identity_merge_rules"
	IdentityMappingsTable   = "rudder_identity_mappings"
	SyncFrequency           = "syncFrequency"
	SyncStartAt             = "syncStartAt"
	ExcludeWindow           = "excludeWindow"
	ExcludeWindowStartTime  = "excludeWindowStartTime"
	ExcludeWindowEndTime    = "excludeWindowEndTime"
)
View Source
const (
	UsersTable      = "users"
	UsersView       = "users_view"
	IdentifiesTable = "identifies"
)
View Source
const (
	BQLoadedAtFormat         = "2006-01-02 15:04:05.999999 Z"
	BQUuidTSFormat           = "2006-01-02 15:04:05 Z"
	DatalakeTimeWindowFormat = "2006/01/02/15"
)
View Source
const (
	CTInvalidStep        = "Invalid step"
	CTStagingTablePrefix = "setup_test_staging"
)
View Source
const (
	WAREHOUSE               = "warehouse"
	RUDDER_MISSING_DATATYPE = "warehouse_rudder_missing_datatype"
)
View Source
const (
	LOAD_FILE_TYPE_CSV     = "csv"
	LOAD_FILE_TYPE_JSON    = "json"
	LOAD_FILE_TYPE_PARQUET = "parquet"
	TestConnectionTimeout  = 15 * time.Second
)
View Source
const LOADED_AT_COLUMN = "loaded_at"
View Source
const UUID_TS_COLUMN = "uuid_ts"

Variables

View Source
var (
	IdentityEnabledWarehouses []string

	AWSCredsExpiryInS int64
)
View Source
var (
	TimeWindowDestinations []string
	WarehouseDestinations  []string
)
View Source
var (
	S3PathStyleRegex     = regexp.MustCompile(`https?://s3([.-](?P<region>[^.]+))?.amazonaws\.com/(?P<bucket>[^/]+)/(?P<keyname>.*)`)
	S3VirtualHostedRegex = regexp.MustCompile(`https?://(?P<bucket>[^/]+).s3([.-](?P<region>[^.]+))?.amazonaws\.com/(?P<keyname>.*)`)
)
View Source
var DiscardsSchema = map[string]string{
	"table_name":   "string",
	"row_id":       "string",
	"column_name":  "string",
	"column_value": "string",
	"received_at":  "datetime",
	"uuid_ts":      "datetime",
}
View Source
var ObjectStorageMap = map[string]string{
	RS:             "S3",
	S3_DATALAKE:    "S3",
	BQ:             "GCS",
	GCS_DATALAKE:   "GCS",
	AZURE_DATALAKE: "AZURE_BLOB",
}
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

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

CaptureRegexGroup returns capture as per the regex provided

func DestStat

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

func DoubleQuoteAndJoinByComma

func DoubleQuoteAndJoinByComma(strs []string) string

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 GetConfigValue

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

func GetConfigValueAsMap

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

func GetConfigValueBoolString

func GetConfigValueBoolString(key string, warehouse WarehouseT) string

func GetDateRangeList

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

func GetGCSLocation

func GetGCSLocation(location string, options GCSLocationOptionsT) string

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

func GetGCSLocationFolder

func GetGCSLocationFolder(location string, options GCSLocationOptionsT) string

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

func GetGCSLocations

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

func GetLastFailedStatus

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

func GetLoadFileFormat

func GetLoadFileFormat(whType string) string

func GetLoadFileGenTime

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

func GetLoadFilePrefix

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

func GetLoadFileType

func GetLoadFileType(wh string) string

func GetNamespace

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

func GetObjectFolder

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

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

func GetObjectFolderForDeltalake

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

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

GetObjectLocation 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 GetObjectName

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

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

func GetParquetValue

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

func GetRequestWithTimeout

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

func GetS3Location

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

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

func GetS3LocationFolder

func GetS3LocationFolder(location string) string

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

func GetSSLKeyDirPath

func GetSSLKeyDirPath(destinationID string) (whSSLRootDir string)

func GetTablePathInObjectStorage

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

func GetTempFileExtension(destType string) string

func GetTemporaryS3Cred

func GetTemporaryS3Cred(accessKeyID, accessKey string) (string, string, string, error)

func GetTimeWindow

func GetTimeWindow(ts time.Time) time.Time

func GetWarehouseIdentifier

func GetWarehouseIdentifier(destType, sourceID, destinationID string) string

func IDResolutionEnabled

func IDResolutionEnabled() bool

func IdentityMappingsTableName

func IdentityMappingsTableName(warehouse WarehouseT) string

func IdentityMappingsUniqueMappingConstraintName

func IdentityMappingsUniqueMappingConstraintName(warehouse WarehouseT) string

func IdentityMappingsWarehouseTableName

func IdentityMappingsWarehouseTableName(provider string) string

func IdentityMergeRulesTableName

func IdentityMergeRulesTableName(warehouse WarehouseT) string

func IdentityMergeRulesWarehouseTableName

func IdentityMergeRulesWarehouseTableName(provider string) string

func Init

func Init()

func JSONSchemaToMap

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

func JoinWithFormatting

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

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

func NewEventReader

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

func NewTimerStat

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

func ObjectStorageType

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

func PostRequestWithTimeout

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

func SnowflakeCloudProvider

func SnowflakeCloudProvider(config interface{}) string

func SortColumnKeysFromColumnMap

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

func TimingFromJSONString

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

func ToProviderCase

func ToProviderCase(provider, str string) string

ToProviderCase converts string provided to case generally accepted in the warehouse for table, column, schema names etc eg. columns are uppercased in SNOWFLAKE and lowercased etc in REDSHIFT, BIGQUERY etc

func ToSafeNamespace

func ToSafeNamespace(provider, name string) string

ToSafeNamespace convert name of the namespace to one acceptable by warehouse 1. removes symbols and joins continuous letters and numbers with single underscore and if first char is a number will append a 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

func WHCounterStat(name string, warehouse *WarehouseT, extraTags ...Tag) stats.RudderStats

Types

type CsvLoader

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

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

func NewCSVLoader

func NewCSVLoader(destType string, writer LoadFileWriterI) *CsvLoader

func (*CsvLoader) AddColumn

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

func (*CsvLoader) AddEmptyColumn

func (loader *CsvLoader) AddEmptyColumn(columnName string)

func (*CsvLoader) AddRow

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

func (*CsvLoader) GetLoadTimeFomat

func (loader *CsvLoader) GetLoadTimeFomat(columnName string) string

func (*CsvLoader) IsLoadTimeColumn

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

func (*CsvLoader) Write

func (loader *CsvLoader) Write() error

func (*CsvLoader) WriteToString

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

type CsvReader

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

func NewCsvReader

func NewCsvReader(r io.Reader) *CsvReader

func (*CsvReader) Read

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

type DestinationT

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

type EventLoader

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

func GetNewEventLoader

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

type GCSLocationOptionsT

type GCSLocationOptionsT struct {
	TLDFormat string
}

type GetLoadFilesOptionsT

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

type JsonLoader

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

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

func NewJSONLoader

func NewJSONLoader(destType string, writer LoadFileWriterI) *JsonLoader

func (*JsonLoader) AddColumn

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

func (*JsonLoader) AddEmptyColumn

func (loader *JsonLoader) AddEmptyColumn(columnName string)

func (*JsonLoader) AddRow

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

func (*JsonLoader) GetLoadTimeFomat

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

func (*JsonLoader) IsLoadTimeColumn

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

func (*JsonLoader) Write

func (loader *JsonLoader) Write() error

func (*JsonLoader) WriteToString

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

type JsonReader

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

func NewJSONReader

func NewJSONReader(r io.Reader) *JsonReader

func (*JsonReader) Read

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

type KeyValue

type KeyValue struct {
	Key   string
	Value interface{}
}

type LoadFileT

type LoadFileT struct {
	Location string
	Metadata json.RawMessage
}

func GetS3Locations

func GetS3Locations(loadFiles []LoadFileT) []LoadFileT

type LoadFileWriterI

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

type ParquetLoader

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

ParquetLoader is used for generating parquet load files.

func NewParquetLoader

func NewParquetLoader(destType string, w LoadFileWriterI) *ParquetLoader

func (*ParquetLoader) AddColumn

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

func (*ParquetLoader) AddEmptyColumn

func (loader *ParquetLoader) AddEmptyColumn(columnName string)

func (*ParquetLoader) AddRow

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

func (*ParquetLoader) GetLoadTimeFomat

func (loader *ParquetLoader) GetLoadTimeFomat(columnName string) string

func (*ParquetLoader) IsLoadTimeColumn

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

func (*ParquetLoader) Write

func (loader *ParquetLoader) Write() error

func (*ParquetLoader) WriteToString

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

type ParquetWriter

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

func CreateParquetWriter

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

func (*ParquetWriter) Close

func (p *ParquetWriter) Close() error

func (*ParquetWriter) GetLoadFile

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

func (*ParquetWriter) Write

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

func (*ParquetWriter) WriteGZ

func (p *ParquetWriter) WriteGZ(s string) error

func (*ParquetWriter) WriteRow

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

type PendingEventsRequestT

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

type PendingEventsResponseT

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

type QueryResult

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

type SchemaT

type SchemaT map[string]map[string]string

type StagingFileT

type StagingFileT struct {
	Schema                map[string]map[string]interface{}
	BatchDestination      DestinationT
	Location              string
	FirstEventAt          string
	LastEventAt           string
	TotalEvents           int
	UseRudderStorage      bool
	DestinationRevisionID string
	// cloud sources specific info
	SourceBatchID   string
	SourceTaskID    string
	SourceTaskRunID string
	SourceJobID     string
	SourceJobRunID  string
	TimeWindow      time.Time
}

type TableSchemaDiffT

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

type TableSchemaT

type TableSchemaT map[string]string

type Tag

type Tag struct {
	Name  string
	Value string
}

type TriggerUploadRequestT

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

type UploaderI

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

type WarehouseT

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

func (*WarehouseT) GetBoolDestinationConfig

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

type WriteSSLKeyError

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

func WriteSSLKeys

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

func (err *WriteSSLKeyError) Error() string

func (*WriteSSLKeyError) GetErrTag

func (err *WriteSSLKeyError) GetErrTag() string

func (*WriteSSLKeyError) IsError

func (err *WriteSSLKeyError) IsError() bool

Jump to

Keyboard shortcuts

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