Merged AST for Lightweight Data Model Extensions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional approaches for extending data models in database systems are inefficient in terms of technical resources, as they require the generation of multiple abstract syntax trees (ASTs) and corresponding runtime data objects, leading to increased processor and memory consumption.
Innovation Solution
The implementation of merged abstract syntax trees (ASTs) is used to generate a single mixed runtime data object, reducing the number of ASTs and runtime data objects, thereby optimizing resource usage by merging view and extension ASTs and providing a single mixed runtime data object for consumption by runtime components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional approaches are used to extend data models by generating separate view AST and extension AST, then data model extensions can be implemented, but technical resources (processors, memory) are consumed inefficiently
Solution Approach 1:
The patent merges the view AST and extension AST into a single merged AST structure. Instead of maintaining separate ASTs for views and extensions, the system integrates them into one unified AST that contains both view definitions and extension definitions, thereby reducing the number of data structures that need to be managed and consumed by runtime components.
Solution Approach 2:
The merged AST serves multiple functions simultaneously - it represents both the base view and its extensions within a single structure. This universal structure eliminates the need for separate processing paths for views and extensions, allowing runtime components to process both types of definitions through a unified mechanism.
2Adaptability or versatility
If separate view AST and extension AST are provided for extended views, then data model extensions are supported, but multiple runtime data objects are generated consuming additional technical resources
Solution Approach 1:
The patent consolidates multiple runtime data objects into a single mixed runtime data object that is generated from the merged AST. Instead of creating separate runtime data objects for views and extensions, the system produces one unified runtime data object that contains both view and extension information, thereby reducing the quantity of objects that need to be instantiated and managed.
3Productivity
If code pushdown approach is implemented to move data model and calculations to database level, then data-intensive calculations are performed efficiently, but extensions require additional processing resources
Solution Approach 1:
The patent merges extension processing with the existing code pushdown infrastructure by integrating extension AST into the view AST processing pipeline. This allows extensions to be processed alongside views using the same database-level computation engine, eliminating the need for separate extension processing resources and maintaining efficient data-intensive calculation performance.
Data Source
AI summary
Implementations of the present disclosure include receiving, by a parser, a view source file and an extension source file, the view source file defining a view on data stored in a database, the extension source file defining an extension to the view, parsing, by the parser, the view source file to provide a view abstract syntax tree (AST) and the extension source file to provide an extension AST, providing, by the parser, a merged AST based on the view AST and the extension AST, generating a mixed runtime data object using the merged AST, and providing the mixed runtime data object for consumption by at least one runtime component.


