The observability catalog is served by an in-memory database that answers SQL over live JVM state. Its dialect was narrow: a CASE threw on anything beyond AND-ed comparisons, ORDER BY accepted only column names, and every computed column came back as text. Formatting a dashboard meant writing a script. This release gives the engine the vocabulary and lets a column's declarations travel with its data.
Expressions
- String functions
UPPER,LOWER,TRIMin its three forms,LENGTH,SUBSTR,REPLACE,CONCATand||,LPAD,RPAD,INSTRandLOCATE, in the select list, theWHEREand theORDER BY. NULL in, NULL out. They nest and sit insideCASE. - Searched CASE with the full WHERE vocabulary
OR,NOT,IS NULL,LIKE,IN,BETWEENand parentheses, anywhere an expression goes.ORDER BYevaluates expressions and accepts positions. - Arithmetic and CAST The four operators and modulo with precedence,
ROUND,TRUNC,MODandABS, andCASTto the integer, decimal, double, varchar, timestamp, date and boolean types. A timestamp accepts epoch milliseconds, and division by zero yields NULL. - Typed results A computed column takes the type of what it reads: arithmetic promotes,
CASEmerges its branch types,COALESCEfollows its first non-null. Grids render durations, percentages and instants as such instead of as text.
Declarations that survive a query
- Column declarations A column declares its label, header group, tooltip, render options and content type, and a
SELECTclones them onto the projection. An alias renames the clone. - Content type from the row A content type may name a column of the row, so a scripts table mixing JavaScript and Python opens each run in the right editor.
- State colours A state column declares its vocabulary: green running, blue waiting, yellow attention, red failed, grey inert, white text throughout. Kinds that carry no judgement, a thread type or a replica role, get categorical hues that never read as good or bad.
- Percent heat maps A seven-step ramp from green through amber to red, with white text at a contrast of at least 3:1 at every step. A null percent is unshaded and a caption in a percent column is left alone.
Privileges and DML
- Privileges are the table's own and bind every user, the DBA included.
DELETEis offered only when a trigger exists to act on it, so a delete on a snapshot never silently does nothing. - No transactions to manage Row DML runs without begin, commit or rollback. Every statement is atomic.
The payoff is on the other side of the query: every provider's tables, JVM, JDBC, statistics, cache and machine, now read at a glance with short labels under themed headers, and the dashboards that depended on scripts for their formatting no longer need them.