Files

286 lines
10 KiB
SQL

CREATE TABLE authentication_queue (
`authentication_id` String,
`merchant_id` String,
`authentication_connector` LowCardinality(String),
`connector_authentication_id` Nullable(String),
`authentication_data` Nullable(String),
`payment_method_id` Nullable(String),
`authentication_type` LowCardinality(Nullable(String)),
`authentication_status` LowCardinality(String),
`authentication_lifecycle_status` LowCardinality(String),
`created_at` DateTime64(3),
`modified_at` DateTime64(3),
`error_message` Nullable(String),
`error_code` Nullable(String),
`connector_metadata` Nullable(String),
`maximum_supported_version` LowCardinality(Nullable(String)),
`threeds_server_transaction_id` Nullable(String),
`cavv` Nullable(String),
`authentication_flow_type` Nullable(String),
`message_version` LowCardinality(Nullable(String)),
`eci` Nullable(String),
`trans_status` LowCardinality(Nullable(String)),
`acquirer_bin` Nullable(String),
`acquirer_merchant_id` Nullable(String),
`three_ds_method_data` Nullable(String),
`three_ds_method_url` Nullable(String),
`acs_url` Nullable(String),
`challenge_request` Nullable(String),
`acs_reference_number` Nullable(String),
`acs_trans_id` Nullable(String),
`acs_signed_content` Nullable(String),
`profile_id` String,
`payment_id` Nullable(String),
`merchant_connector_id` Nullable(String),
`ds_trans_id` Nullable(String),
`directory_server_id` Nullable(String),
`acquirer_country_code` Nullable(String),
`organization_id` String,
`sign_flag` Int8,
`mcc` Nullable(String),
`amount` Nullable(UInt32),
`currency` LowCardinality(Nullable(String)),
`merchant_country` LowCardinality(Nullable(String)),
`billing_country` LowCardinality(Nullable(String)),
`shipping_country` LowCardinality(Nullable(String)),
`issuer_country` LowCardinality(Nullable(String)),
`earliest_supported_version` LowCardinality(Nullable(String)),
`latest_supported_version` LowCardinality(Nullable(String)),
`whitelist_decision` Nullable(Bool),
`device_manufacturer` Nullable(String),
`platform` LowCardinality(Nullable(String)),
`device_type` LowCardinality(Nullable(String)),
`device_brand` Nullable(String),
`device_os` Nullable(String),
`device_display` Nullable(String),
`browser_name` Nullable(String),
`browser_version` Nullable(String),
`issuer_id` Nullable(String),
`scheme_name` Nullable(String),
`exemption_requested` Nullable(Bool),
`exemption_accepted` Nullable(Bool)
) ENGINE = Kafka SETTINGS kafka_broker_list = 'kafka0:29092',
kafka_topic_list = 'hyperswitch-authentication-events',
kafka_group_name = 'hyper',
kafka_format = 'JSONEachRow',
kafka_handle_error_mode = 'stream';
CREATE TABLE authentications (
`authentication_id` String,
`merchant_id` String,
`authentication_connector` LowCardinality(String),
`connector_authentication_id` Nullable(String),
`authentication_data` Nullable(String),
`payment_method_id` Nullable(String),
`authentication_type` LowCardinality(Nullable(String)),
`authentication_status` LowCardinality(String),
`authentication_lifecycle_status` LowCardinality(String),
`created_at` DateTime64(3) DEFAULT now64(),
`inserted_at` DateTime64(3) DEFAULT now64(),
`modified_at` DateTime64(3) DEFAULT now64(),
`error_message` Nullable(String),
`error_code` Nullable(String),
`connector_metadata` Nullable(String),
`maximum_supported_version` LowCardinality(Nullable(String)),
`threeds_server_transaction_id` Nullable(String),
`cavv` Nullable(String),
`authentication_flow_type` Nullable(String),
`message_version` LowCardinality(Nullable(String)),
`eci` Nullable(String),
`trans_status` LowCardinality(Nullable(String)),
`acquirer_bin` Nullable(String),
`acquirer_merchant_id` Nullable(String),
`three_ds_method_data` Nullable(String),
`three_ds_method_url` Nullable(String),
`acs_url` Nullable(String),
`challenge_request` Nullable(String),
`acs_reference_number` Nullable(String),
`acs_trans_id` Nullable(String),
`acs_signed_content` Nullable(String),
`profile_id` String,
`payment_id` Nullable(String),
`merchant_connector_id` Nullable(String),
`ds_trans_id` Nullable(String),
`directory_server_id` Nullable(String),
`acquirer_country_code` Nullable(String),
`organization_id` String,
`sign_flag` Int8,
`mcc` Nullable(String),
`amount` Nullable(UInt32),
`currency` LowCardinality(Nullable(String)),
`merchant_country` LowCardinality(Nullable(String)),
`billing_country` LowCardinality(Nullable(String)),
`shipping_country` LowCardinality(Nullable(String)),
`issuer_country` LowCardinality(Nullable(String)),
`earliest_supported_version` LowCardinality(Nullable(String)),
`latest_supported_version` LowCardinality(Nullable(String)),
`whitelist_decision` Nullable(Bool),
`device_manufacturer` Nullable(String),
`platform` LowCardinality(Nullable(String)),
`device_type` LowCardinality(Nullable(String)),
`device_brand` Nullable(String),
`device_os` Nullable(String),
`device_display` Nullable(String),
`browser_name` Nullable(String),
`browser_version` Nullable(String),
`issuer_id` Nullable(String),
`scheme_name` Nullable(String),
`exemption_requested` Nullable(Bool),
`exemption_accepted` Nullable(Bool),
INDEX authenticationConnectorIndex authentication_connector TYPE bloom_filter GRANULARITY 1,
INDEX transStatusIndex trans_status TYPE bloom_filter GRANULARITY 1,
INDEX authenticationTypeIndex authentication_type TYPE bloom_filter GRANULARITY 1,
INDEX authenticationStatusIndex authentication_status TYPE bloom_filter GRANULARITY 1
) ENGINE = CollapsingMergeTree(sign_flag) PARTITION BY toStartOfDay(created_at)
ORDER BY
(created_at, merchant_id, authentication_id) TTL toStartOfDay(created_at) + toIntervalMonth(18) SETTINGS index_granularity = 8192;
CREATE MATERIALIZED VIEW authentication_mv TO authentications (
`authentication_id` String,
`merchant_id` String,
`authentication_connector` LowCardinality(String),
`connector_authentication_id` Nullable(String),
`authentication_data` Nullable(String),
`payment_method_id` Nullable(String),
`authentication_type` LowCardinality(Nullable(String)),
`authentication_status` LowCardinality(String),
`authentication_lifecycle_status` LowCardinality(String),
`created_at` DateTime64(3) DEFAULT now64(),
`inserted_at` DateTime64(3) DEFAULT now64(),
`modified_at` DateTime64(3) DEFAULT now64(),
`error_message` Nullable(String),
`error_code` Nullable(String),
`connector_metadata` Nullable(String),
`maximum_supported_version` LowCardinality(Nullable(String)),
`threeds_server_transaction_id` Nullable(String),
`cavv` Nullable(String),
`authentication_flow_type` Nullable(String),
`message_version` LowCardinality(Nullable(String)),
`eci` Nullable(String),
`trans_status` LowCardinality(Nullable(String)),
`acquirer_bin` Nullable(String),
`acquirer_merchant_id` Nullable(String),
`three_ds_method_data` Nullable(String),
`three_ds_method_url` Nullable(String),
`acs_url` Nullable(String),
`challenge_request` Nullable(String),
`acs_reference_number` Nullable(String),
`acs_trans_id` Nullable(String),
`acs_signed_content` Nullable(String),
`profile_id` String,
`payment_id` Nullable(String),
`merchant_connector_id` Nullable(String),
`ds_trans_id` Nullable(String),
`directory_server_id` Nullable(String),
`acquirer_country_code` Nullable(String),
`organization_id` String,
`sign_flag` Int8,
`mcc` Nullable(String),
`amount` Nullable(UInt32),
`currency` LowCardinality(Nullable(String)),
`merchant_country` LowCardinality(Nullable(String)),
`billing_country` LowCardinality(Nullable(String)),
`shipping_country` LowCardinality(Nullable(String)),
`issuer_country` LowCardinality(Nullable(String)),
`earliest_supported_version` LowCardinality(Nullable(String)),
`latest_supported_version` LowCardinality(Nullable(String)),
`whitelist_decision` Nullable(Bool),
`device_manufacturer` Nullable(String),
`platform` LowCardinality(Nullable(String)),
`device_type` LowCardinality(Nullable(String)),
`device_brand` Nullable(String),
`device_os` Nullable(String),
`device_display` Nullable(String),
`browser_name` Nullable(String),
`browser_version` Nullable(String),
`issuer_id` Nullable(String),
`scheme_name` Nullable(String),
`exemption_requested` Nullable(Bool),
`exemption_accepted` Nullable(Bool)
) AS
SELECT
authentication_id,
merchant_id,
authentication_connector,
connector_authentication_id,
authentication_data,
payment_method_id,
authentication_type,
authentication_status,
authentication_lifecycle_status,
created_at,
now64() as inserted_at,
modified_at,
error_message,
error_code,
connector_metadata,
maximum_supported_version,
threeds_server_transaction_id,
cavv,
authentication_flow_type,
message_version,
eci,
trans_status,
acquirer_bin,
acquirer_merchant_id,
three_ds_method_data,
three_ds_method_url,
acs_url,
challenge_request,
acs_reference_number,
acs_trans_id,
acs_signed_content,
profile_id,
payment_id,
merchant_connector_id,
ds_trans_id,
directory_server_id,
acquirer_country_code,
organization_id,
sign_flag,
mcc,
amount,
currency,
merchant_country,
billing_country,
shipping_country,
issuer_country,
earliest_supported_version,
latest_supported_version,
whitelist_decision,
device_manufacturer,
platform,
device_type,
device_brand,
device_os,
device_display,
browser_name,
browser_version,
issuer_id,
scheme_name,
exemption_requested,
exemption_accepted
FROM
authentication_queue
WHERE
length(_error) = 0;
CREATE MATERIALIZED VIEW authentication_parse_errors (
`topic` String,
`partition` Int64,
`offset` Int64,
`raw` String,
`error` String
) ENGINE = MergeTree
ORDER BY
(topic, partition, offset) SETTINGS index_granularity = 8192 AS
SELECT
_topic AS topic,
_partition AS partition,
_offset AS offset,
_raw_message AS raw,
_error AS error
FROM
authentication_queue
WHERE
length(_error) > 0;