diff --git a/cameleer3-server-app/src/main/resources/clickhouse/V9__rename_identity_columns.sql b/cameleer3-server-app/src/main/resources/clickhouse/V9__rename_identity_columns.sql new file mode 100644 index 00000000..01cf71dd --- /dev/null +++ b/cameleer3-server-app/src/main/resources/clickhouse/V9__rename_identity_columns.sql @@ -0,0 +1,87 @@ +-- Rename agent identity columns for protocol v2 alignment. + +-- Base tables +ALTER TABLE executions RENAME COLUMN agent_id TO instance_id; +ALTER TABLE executions RENAME COLUMN application_name TO application_id; + +ALTER TABLE processor_executions RENAME COLUMN application_name TO application_id; + +ALTER TABLE agent_metrics RENAME COLUMN agent_id TO instance_id; + +ALTER TABLE route_diagrams RENAME COLUMN agent_id TO instance_id; +ALTER TABLE route_diagrams RENAME COLUMN application_name TO application_id; + +ALTER TABLE agent_events RENAME COLUMN agent_id TO instance_id; +ALTER TABLE agent_events RENAME COLUMN app_id TO application_id; + +ALTER TABLE logs RENAME COLUMN agent_id TO instance_id; + +-- Stats tables — drop MVs first, rename columns, recreate MVs +DROP VIEW IF EXISTS stats_1m_app_mv; +DROP VIEW IF EXISTS stats_1m_route_mv; +DROP VIEW IF EXISTS stats_1m_processor_mv; +DROP VIEW IF EXISTS stats_1m_processor_detail_mv; + +ALTER TABLE stats_1m_app RENAME COLUMN application_name TO application_id; +ALTER TABLE stats_1m_route RENAME COLUMN application_name TO application_id; +ALTER TABLE stats_1m_processor RENAME COLUMN application_name TO application_id; +ALTER TABLE stats_1m_processor_detail RENAME COLUMN application_name TO application_id; + +-- Recreate MVs with renamed columns +CREATE MATERIALIZED VIEW IF NOT EXISTS stats_1m_app_mv TO stats_1m_app AS +SELECT + tenant_id, + application_id, + toStartOfMinute(start_time) AS bucket, + countState() AS total_count, + countIfState(status = 'FAILED') AS failed_count, + countIfState(status = 'RUNNING') AS running_count, + sumState(duration_ms) AS duration_sum, + maxState(duration_ms) AS duration_max, + quantileState(0.99)(duration_ms) AS p99_duration +FROM executions +GROUP BY tenant_id, application_id, bucket; + +CREATE MATERIALIZED VIEW IF NOT EXISTS stats_1m_route_mv TO stats_1m_route AS +SELECT + tenant_id, + application_id, + route_id, + toStartOfMinute(start_time) AS bucket, + countState() AS total_count, + countIfState(status = 'FAILED') AS failed_count, + countIfState(status = 'RUNNING') AS running_count, + sumState(duration_ms) AS duration_sum, + maxState(duration_ms) AS duration_max, + quantileState(0.99)(duration_ms) AS p99_duration +FROM executions +GROUP BY tenant_id, application_id, route_id, bucket; + +CREATE MATERIALIZED VIEW IF NOT EXISTS stats_1m_processor_mv TO stats_1m_processor AS +SELECT + tenant_id, + application_id, + processor_type, + toStartOfMinute(start_time) AS bucket, + countState() AS total_count, + countIfState(status = 'FAILED') AS failed_count, + sumState(duration_ms) AS duration_sum, + maxState(duration_ms) AS duration_max, + quantileState(0.99)(duration_ms) AS p99_duration +FROM processor_executions +GROUP BY tenant_id, application_id, processor_type, bucket; + +CREATE MATERIALIZED VIEW IF NOT EXISTS stats_1m_processor_detail_mv TO stats_1m_processor_detail AS +SELECT + tenant_id, + application_id, + route_id, + processor_id, + toStartOfMinute(start_time) AS bucket, + countState() AS total_count, + countIfState(status = 'FAILED') AS failed_count, + sumState(duration_ms) AS duration_sum, + maxState(duration_ms) AS duration_max, + quantileState(0.99)(duration_ms) AS p99_duration +FROM processor_executions +GROUP BY tenant_id, application_id, route_id, processor_id, bucket; diff --git a/cameleer3-server-app/src/main/resources/db/migration/V14__rename_identity_columns.sql b/cameleer3-server-app/src/main/resources/db/migration/V14__rename_identity_columns.sql new file mode 100644 index 00000000..82254763 --- /dev/null +++ b/cameleer3-server-app/src/main/resources/db/migration/V14__rename_identity_columns.sql @@ -0,0 +1,16 @@ +-- Rename agent identity columns for protocol v2 alignment. + +ALTER TABLE executions RENAME COLUMN agent_id TO instance_id; +ALTER TABLE executions RENAME COLUMN application_name TO application_id; + +ALTER TABLE processor_executions RENAME COLUMN application_name TO application_id; + +ALTER TABLE agent_metrics RENAME COLUMN agent_id TO instance_id; + +ALTER TABLE route_diagrams RENAME COLUMN agent_id TO instance_id; +ALTER TABLE route_diagrams RENAME COLUMN application_name TO application_id; + +ALTER TABLE agent_events RENAME COLUMN agent_id TO instance_id; +ALTER TABLE agent_events RENAME COLUMN app_id TO application_id; + +ALTER TABLE app_settings RENAME COLUMN app_id TO application_id;