m.metric_key as metricKey,
m.dimension as dimension,
m.last_sent as lastSent
INSERT INTO telemetry_metrics_sent (
metric_key, dimension, last_sent
) VALUES (
#{metricKey, jdbcType=VARCHAR}, #{dimension, jdbcType=VARCHAR}, #{lastSent, jdbcType=BIGINT}
)
ON CONFLICT (metric_key, dimension) DO UPDATE SET
last_sent = EXCLUDED.last_sent
MERGE INTO telemetry_metrics_sent AS target
USING (VALUES (
#{metricKey, jdbcType=VARCHAR}, #{dimension, jdbcType=VARCHAR}, #{lastSent, jdbcType=BIGINT}
)) AS source (metric_key, dimension, last_sent)
ON target.metric_key = source.metric_key AND target.dimension = source.dimension
WHEN MATCHED THEN
UPDATE SET last_sent = source.last_sent
WHEN NOT MATCHED THEN
INSERT (metric_key, dimension, last_sent)
VALUES (source.metric_key, source.dimension, source.last_sent)
MERGE INTO telemetry_metrics_sent target
USING (
SELECT #{metricKey} AS metric_key,
#{dimension} AS dimension,
#{lastSent} AS last_sent
FROM dual
) source
ON (target.metric_key = source.metric_key AND target.dimension = source.dimension)
WHEN MATCHED THEN
UPDATE SET target.last_sent = source.last_sent
WHEN NOT MATCHED THEN
INSERT (metric_key, dimension, last_sent)
VALUES (source.metric_key, source.dimension, source.last_sent)
MERGE INTO telemetry_metrics_sent AS target
USING (
SELECT
#{metricKey} AS metric_key,
#{dimension} AS dimension,
#{lastSent} AS last_sent
) AS source (metric_key, dimension, last_sent)
ON (target.metric_key = source.metric_key AND target.dimension = source.dimension)
WHEN MATCHED THEN
UPDATE SET target.last_sent = source.last_sent
WHEN NOT MATCHED THEN
INSERT (metric_key, dimension, last_sent)
VALUES (source.metric_key, source.dimension, source.last_sent);