diff --git a/ee/scripts/schema/db/init_dbs/clickhouse/1.23.0/1.23.0.sql b/ee/scripts/schema/db/init_dbs/clickhouse/1.23.0/1.23.0.sql index 953c86662..fea95d46b 100644 --- a/ee/scripts/schema/db/init_dbs/clickhouse/1.23.0/1.23.0.sql +++ b/ee/scripts/schema/db/init_dbs/clickhouse/1.23.0/1.23.0.sql @@ -1,3 +1,16 @@ +SELECT 1 +FROM (SELECT throwIf(platform = 'ios', 'IOS sessions found') + FROM experimental.sessions) AS raw +LIMIT 1; + +SELECT 1 +FROM (SELECT throwIf(platform = 'android', 'Android sessions found') + FROM experimental.sessions) AS raw +LIMIT 1; + +ALTER TABLE experimental.sessions + MODIFY COLUMN platform Enum8('web'=1,'mobile'=2) DEFAULT 'web'; + CREATE OR REPLACE FUNCTION openreplay_version AS() -> 'v1.23.0-ee'; DROP TABLE IF EXISTS product_analytics.all_events; diff --git a/ee/scripts/schema/db/init_dbs/clickhouse/create/init_schema.sql b/ee/scripts/schema/db/init_dbs/clickhouse/create/init_schema.sql index 2a892ea5d..7d1a9559a 100644 --- a/ee/scripts/schema/db/init_dbs/clickhouse/create/init_schema.sql +++ b/ee/scripts/schema/db/init_dbs/clickhouse/create/init_schema.sql @@ -134,7 +134,7 @@ CREATE TABLE IF NOT EXISTS experimental.sessions metadata_8 Nullable(String), metadata_9 Nullable(String), metadata_10 Nullable(String), - _timestamp DateTime DEFAULT now() + _timestamp DateTime DEFAULT now() ) ENGINE = ReplacingMergeTree(_timestamp) PARTITION BY toYYYYMMDD(datetime) ORDER BY (project_id, datetime, session_id) @@ -791,8 +791,7 @@ CREATE TABLE IF NOT EXISTS product_analytics.property_values_samples ENGINE = ReplacingMergeTree(_timestamp) ORDER BY (project_id, property_name, is_event_property); -- Incremental materialized view to get random examples of property values using $properties & properties -CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.property_values_sampler_mv - REFRESH EVERY 30 HOUR TO product_analytics.property_values_samples AS +CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.property_values_sampler_mvREFRESHEVERY30HOURTOproduct_analytics.property_values_samples AS SELECT project_id, property_name, TRUE AS is_event_property, @@ -843,8 +842,7 @@ CREATE TABLE IF NOT EXISTS product_analytics.autocomplete_events_grouped ORDER BY (project_id, value) TTL _timestamp + INTERVAL 1 MONTH; -CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.autocomplete_events_grouped_mv - REFRESH EVERY 30 MINUTE TO product_analytics.autocomplete_events_grouped AS +CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.autocomplete_events_grouped_mvREFRESHEVERY30MINUTETOproduct_analytics.autocomplete_events_grouped AS SELECT project_id, value, count(1) AS data_count, @@ -873,7 +871,8 @@ SELECT project_id, _timestamp FROM product_analytics.events ARRAY JOIN JSONExtractKeys(toString(`$properties`)) as property_name -WHERE length(value) > 0 AND isNull(toFloat64OrNull(value)) +WHERE length(value) > 0 + AND isNull(toFloat64OrNull(value)) AND _timestamp > now() - INTERVAL 1 MONTH; @@ -889,8 +888,7 @@ CREATE TABLE IF NOT EXISTS product_analytics.autocomplete_event_properties_group ORDER BY (project_id, event_name, property_name, value) TTL _timestamp + INTERVAL 1 MONTH; -CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.autocomplete_event_properties_grouped_mv - REFRESH EVERY 30 MINUTE TO product_analytics.autocomplete_event_properties_grouped AS +CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.autocomplete_event_properties_grouped_mvREFRESHEVERY30MINUTETOproduct_analytics.autocomplete_event_properties_grouped AS SELECT project_id, event_name, property_name, diff --git a/scripts/schema/db/init_dbs/clickhouse/1.23.0/1.23.0.sql b/scripts/schema/db/init_dbs/clickhouse/1.23.0/1.23.0.sql index d8472807d..50dd204bb 100644 --- a/scripts/schema/db/init_dbs/clickhouse/1.23.0/1.23.0.sql +++ b/scripts/schema/db/init_dbs/clickhouse/1.23.0/1.23.0.sql @@ -1,3 +1,16 @@ +SELECT 1 +FROM (SELECT throwIf(platform = 'ios', 'IOS sessions found') + FROM experimental.sessions) AS raw +LIMIT 1; + +SELECT 1 +FROM (SELECT throwIf(platform = 'android', 'Android sessions found') + FROM experimental.sessions) AS raw +LIMIT 1; + +ALTER TABLE experimental.sessions + MODIFY COLUMN platform Enum8('web'=1,'mobile'=2) DEFAULT 'web'; + CREATE OR REPLACE FUNCTION openreplay_version AS() -> 'v1.23.0'; @@ -155,8 +168,7 @@ CREATE TABLE IF NOT EXISTS product_analytics.property_values_samples ENGINE = ReplacingMergeTree(_timestamp) ORDER BY (project_id, property_name, is_event_property); -CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.property_values_sampler_mv - REFRESH EVERY 30 HOUR TO product_analytics.property_values_samples AS +CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.property_values_sampler_mvREFRESHEVERY30HOURTOproduct_analytics.property_values_samples AS SELECT project_id, property_name, TRUE AS is_event_property, @@ -207,8 +219,7 @@ CREATE TABLE IF NOT EXISTS product_analytics.autocomplete_events_grouped ORDER BY (project_id, value) TTL _timestamp + INTERVAL 1 MONTH; -CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.autocomplete_events_grouped_mv - REFRESH EVERY 30 MINUTE TO product_analytics.autocomplete_events_grouped AS +CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.autocomplete_events_grouped_mvREFRESHEVERY30MINUTETOproduct_analytics.autocomplete_events_grouped AS SELECT project_id, value, count(1) AS data_count, @@ -237,7 +248,8 @@ SELECT project_id, _timestamp FROM product_analytics.events ARRAY JOIN JSONExtractKeys(toString(`$properties`)) as property_name -WHERE length(value) > 0 AND isNull(toFloat64OrNull(value)) +WHERE length(value) > 0 + AND isNull(toFloat64OrNull(value)) AND _timestamp > now() - INTERVAL 1 MONTH; @@ -253,8 +265,7 @@ CREATE TABLE IF NOT EXISTS product_analytics.autocomplete_event_properties_group ORDER BY (project_id, event_name, property_name, value) TTL _timestamp + INTERVAL 1 MONTH; -CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.autocomplete_event_properties_grouped_mv - REFRESH EVERY 30 MINUTE TO product_analytics.autocomplete_event_properties_grouped AS +CREATE MATERIALIZED VIEW IF NOT EXISTS product_analytics.autocomplete_event_properties_grouped_mvREFRESHEVERY30MINUTETOproduct_analytics.autocomplete_event_properties_grouped AS SELECT project_id, event_name, property_name,