摘要:
Systems and methodologies that facilitate evolving a data model via a combination of an explicit logical model definition, logical model changes, functional units, an explicit/implicit physical model and physical model changes, to derive a data model transformation. Such an arrangement can provide for a rich set of transformations, which can be automatically applied to a data model instantiation. The subject invention enables leveraging a common set of code, by defining the set of transformations across an arbitrary data model.
摘要:
A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used. This includes defining columns of tables, declaring variables and parameters to functions and stored procedures, and evaluating expressions of the user-defined type in SQL queries and updates. Preferably, the database system stores metadata about the user-defined type for subsequent use in creating instances of the type.
摘要:
A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used. This includes defining columns of tables, declaring variables and parameters to functions and stored procedures, and evaluating expressions of the user-defined type in SQL queries and updates. Preferably, the database system stores metadata about the user-defined type for subsequent use in creating instances of the type.
摘要:
Systems and methodologies that facilitate evolving a data model via a combination of an explicit logical model definition, logical model changes, functional units, an explicit/implicit physical model and physical model changes, to derive a data model transformation are presented. Such an arrangement can provide for a rich set of transformations, which can be automatically applied to a data model instantiation. The subject invention facilitates leveraging a common set of code in data model instantiation evolution, by defining the set of transformations across an arbitrary data model.
摘要:
A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used. This includes defining columns of tables, declaring variables and parameters to functions and stored procedures, and evaluating expressions of the user-defined type in SQL queries and updates. Preferably, the database system stores metadata about the user-defined type for subsequent use in creating instances of the type.
摘要:
A database API is presented that can expose data of non-native data-types, i.e., types that are unknown at API design-time. A broad type-system is used that is understood by both a server and a client. The API can dynamically discover, at run-time, data types that were defined using this broad type-system. The API can retrieve metadata that references a non-native data type in a client type library. A retrieved instance of the non-native data type, in serialized form, may be deserialized using the metadata.
摘要:
Systems and methodologies of partially deserializing a Complex Type Object, via a deserializer that intercepts and materializes such object on demand. The object or a subset thereof can be deserialized to produce an Instance of Complex Type that is implemented by a property store. The deserializer can include an analyzer component that analyzes the Property Store.
摘要:
A database API is presented that can expose data of non-native data-types, i.e., types that are unknown at API design-time. A broad type-system is used that is understood by both a server and a client. The API can dynamically discover, at run-time, data types that were defined using this broad type-system. The API can retrieve metadata that references a non-native data type in a client type library. A retrieved instance of the non-native data type, in serialized form, may be deserialized using the metadata.
摘要:
The present invention describes an efficient and fast framework for implementing table-valued functions (TVF's) in a relational database server. The framework provides desirable extensibility properties and has the ability to minimize performance degradations by integrating tightly with the optimization infrastructure in a query processor. The present invention also enables a managed execution environment (MEE) such as the Common-Language-Runtime (CLR), to efficiently and dynamically extend the logic of the database engine with user-supplied code.
摘要:
A new persistence format for storing objects of a user defined type in a database store enables information about the structure of the type to be communicated to the store. This information enables a number of store optimizations, including direct structural access to members of the type. Specifically, metadata is exchanged between the type implementer and the data store. The store uses the metadata to determine the storage layout for instances of the type. With this information, the store is able to detect access patterns that can be optimized to directly operate over the storage representation without hydration (deserialization) the object.