Repository navigation
docs(core-spec): Reserve AGG() in Ossie SQL - #662
Open
justint-db wants to merge 1 commit into
Open
justint-db wants to merge 1 commit into
justint-db wants to merge 1 commit into
Conversation
Reserve the function name AGG for measure evaluation, as defined by the Relational Query Interface, and add a compatibility note for older expressions that call a different function named AGG. State that function names should be case insensitive, like regular identifiers. Where model declarations may use AGG is left to a future version. Co-authored-by: Isaac <[email protected]>
jbonofre
approved these changes
Nov 1, 2026
jbonofre
left a comment
Member
There was a problem hiding this comment.
Thanks @justint-db, this matches what we agreed on the dev@ mailing list (split from #633 ):
AGGis reserved in Ossie SQL, with a compatibility note for existing expressions calling another function namedAGG- function names are case insensitive, so
agg()andAgg()are covered too - function names and identifiers are separate namespaces, so a field or metric named
aggstill works - where model declarations can use
AGG(dataset scoped metric,AGGover a source measure) stays in #633
A few non-blocking points we can address later:
- The compatibility note suggests moving an older
AGGcall to a vendor dialect, but the new section says a dialect extension MUST NOT defineAGG. As vendor dialects are opaque (spec.md), I think the reservation should apply toOSSIE_SQL_2026expression only. - It would be good to say explicitly that
AGG(...)is not allowed inOSSIE_SQL_2026model expressions until a future version defines where it can be used (maybe in the "Not Supported in Expressions" table). - Functions callable without parentheses (
CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP) can collide with a field of the same name. Worth an exception in the "separate namespaces" sentence.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
AGG. Ossie SQL reserves the function nameAGGfor evaluating a measure, as defined by the Relational Query Interface (Sections 4 and 6). Implementations and dialect extensions must not give it another meaning. This change reserves the name only. Where model declarations may useAGGis left to a future version (docs(core-spec): Let dataset-scoped metrics reference source columns as source.column #633 proposes one use).AGG, so an olderOSSIE_SQL_2026expression might call a different function by that name. Fields, metrics, and columns can still be namedagg.Only
core-spec/expression_language.mdchanges.Related Issues
Split from #633.
Checklist
Specification
core-spec/and follow the existing structure