CREATE CATALOG ... | Catalog = env, database = cluster; not creatable |
SET 'execution.checkpointing.*' | CC manages checkpointing; not user-settable |
CREATE TABLE ... WITH ('connector'='kafka') | Tables auto-mapped from topics; manual DDL limited |
WITH cte AS (...) INSERT INTO ... | INSERT INTO ... WITH cte AS (...) — CTE comes AFTER INSERT INTO |
CREATE TEMPORARY VIEW v AS (...) | Not supported — must use CTE (WITH v AS (...)) |
INSERT INTO ... VALUES | Materializes; test only, not production |
Custom event_time column for rowtime | Use $rowtime system column; never qualify as t.$rowtime |
$rowtime AS alias in CTE | Silently strips time-attribute — downstream watermark breaks |
ALTER TABLE t ADD WATERMARK ... | Uses MODIFY not ADD for watermarks |
SOURCE_WATERMARK() | Adaptive histogram, 95th percentile, requires 250+ events before emitting |
Multiple OVER windows in one query | Not supported |
MATCH_RECOGNIZE with PREV()/NEXT() | No physical offsets, flat columns only, no greedy quantifiers as last pattern |
CAST('2024-01-01T00:00:00Z' AS TIMESTAMP) | ISO-8601 fails — use TO_TIMESTAMP(REPLACE(...)) |
UNIX_TIMESTAMP(ts_column) on TIMESTAMP | Only accepts STRING — cast first |
SESSION_START(ts) with one arg | Requires two arguments |
current_watermark() on updating table | Not supported — non-deterministic function with update messages error |
UDF open(RuntimeContext) | Sandbox — no FS, no sockets without CONNECTION + USING CONNECTIONS |
GROUP BY TUMBLE(ts, INTERVAL '1' MINUTE) | TUMBLE(TABLE t, DESCRIPTOR(ts), INTERVAL '1' MINUTE) |
CREATE FUNCTION f AS '...' | ... USING JAR 'confluent-artifact://<id>' + USING CONNECTIONS for egress |
'value.format' = 'json' | CC may require 'json-registry' with Schema Registry |
Savepoints, STOP WITH SAVEPOINT | Not exposed; statement deletion = state loss; use prevent_destroy in TF |
| DataStream / Table API | SQL only |