Details
-
Sub-task
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
None
Description
A while ago we decided to make all functions and types keyspace local, but haven't updated our assumption in the code accordingly.
One consequence is that in addition to Schema and KSMetaData we got ourselves a completely separate registry singleton for built-in functions, UDFs, and UDAs - the Functions class.
The linked branch makes UDAs and UDFs be a part of KSMetaData, as they should be, and gets rid of the old Functions class.
A new Functions class is introduced - an immutable container for a given keyspace's functions, and all the definitions are now spread between the keyspaces.
Additionally, this moves all the built-in functions to SystemKeyspace. This sneaks in a bit of CASSANDRA-9425, makes CASSANDRA-9367 easier, and is a minore pre-requisite for a proper implementation of CASSANDRA-6717.
Attachments
Issue Links
- is part of
-
CASSANDRA-9425 Make node-local schema fully immutable
- Resolved
- links to