摘要:
Multiple programming languages can be embedded and supported within a single source. Programs nested with syntax from a plurality of languages (e.g., C#, SQL, XML . . . ), among other things, enable users to avail themselves of advantageous aspects of different languages for particular tasks. Language services that provide language specific functionality including but not limited to formatting, intelligent assist, auto completion, and coloring, can be employed and switched between to afford support for their respective languages in a mixed language source program. Similarly, mixed language programs can be compiled with language specific services or systems such as parsers, scanners and the like to process corresponding code portions.
摘要:
Data management between a common data store and multiple applications of multiple disparate application frameworks. A data storage component is provided that facilitates the storage of data, which data includes structured, semi-structured, and unstructured data. A common data platform interfaces to the data storage component to provide data services accessible by a plurality of disparate application frameworks, which data services allow a corresponding application of the different frameworks to access the data.
摘要:
Several embodiments of the present invention are directed to systems and methods for extending the UDT framework of an extended relational data store (ERDS) to include support for unordered collections (multisets) and ordered collection (lists). More specifically, several embodiments of the present invention use an UDT infrastructure, CLR generics, and a new UNNEST operator to create and utilize a special type abstraction for collections that is simultaneously a scalar and a relation. As a scalar, this collection type can be processed by all parts of the data store engine that understand scalars (including but not limited to the client stack) and, as a relation, this collection type is queriable like any other type of relation.
摘要:
A technique for representing the structure of hierarchically-organized data in a non-hierarchical data structure, such as a relation. The hierarchically-organized data is represented as a tree, and each node in the tree is assigned a position identifier that represents both the depth level of the node within the hierarchy, and its ancestor/descendant relationship to other nodes. The data represented by each node, as well as its position identifier, is stored in a row of a relational database, thereby capturing the hierarchical structure of the data in such relational database. A technique is provided for the compressed storage of position identifiers in a format that allows an efficient bytewise comparison of position identifiers to determine relative order and ancestry.
摘要:
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 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.
摘要:
Various embodiments of the present invention are directed to a database with an extensible type system for at least one user-defined type that comprises information for describing its structure as well as information for describing an inheritance relationship between itself and another user-defined type (either a subtype or a supertype/base type). For certain embodiments, the user-defined type is defined in something other than Sequential Query Language (SQL) statement such as, for example, a Common Language Runtime (CLR) statement, a statement in C, C++, and C# (“C-sharp”), and/or a visual basic statement. In any event, several embodiments are further directed to a system wherein the database is aware of the inheritance relationship between two user-defined types by an explicit registration of the user-defined types with said database.
摘要:
A technique for representing the structure of hierarchically-organized data in a non-hierarchical data structure, such as a relation. The hierarchically-organized data is represented as a tree, and each node in the tree is assigned a position identifier that represents both the depth level of the node within the hierarchy, and its ancestor/descendant relationship to other nodes. The data represented by each node, as well as its position identifier, is stored in a row of a relational database, thereby capturing the hierarchical structure of the data in such relational database. A technique is provided for the compressed storage of position identifiers in a format that allows an efficient bytewise comparison of position identifiers to determine relative order and ancestry.
摘要:
The claimed subject matter relates to an architecture that can facilitate an incremental approach to an Object-Relational mapping solution. The architecture can provide a rich data model that is defined at the value layer. The rich data model can expose an interface that conforms with the interfaces exposed by common storage-specific data providers. The architecture can extend common storage-specific data provider to support common command representations, and provide entity services that work in terms of the rich data model as well as object services such as identity management, updating and change tracking.
摘要:
Improved query optimizer using implied predicates. The system facilitates allowing a query optimizing component to introduce into a query, extra predicates that facilitate the following: render the same results as the original query; are used as dictated by rules passed to the optimizing component—these rules specify whether the new predicate is an equivalence (that will substitute the old predicate) or an implication (in which the old predicate is preserved); are considered as cost-based alternatives, and discarded if not useful; are tied to index utilization; and can consider both standard and multi-valued indices.