摘要:
A distributed query engine pipeline architecture comprises cascaded analysis engines that accept an input query and each identifies a portion of the input query that it can pass on to an execution engine. Each stage rewrites the input query to remove the portion identified and replaces it with a placeholder. The rewritten query is forwarded to the next analysis engine in the cascade. Each engine compiles the portion it identified so that an execution engine may process that portion. Execution preferably proceeds from the portion of the query compiled by the last analysis engine. The execution engine corresponding to the last analysis engine executes the query and makes a call to the next higher execution engine in the cascade for data from the preceding portion. The process continues until the results from the input query are fully assembled.
摘要:
A query runtime architecture and an exemplary application programming interface suitable for the architecture are presented. The architecture inputs one or more XML queries and views and enables the queries to be translated wherein the queries and views may be run over multiple data sources of different data models. The architecture incorporates front-end compilers which convert input queries and views into an intermediate language representation which represents the meaning of the respective query or view. The architecture may then allow the back-end compiling of the intermediate language representation to target languages compatible with the data sources desired to be queried. The architecture also allows the execution of those target compilations to extract the data requested of the queries. The invention also discloses an example application programming interface for the query runtime system.
摘要:
An architecture that leverages support for markup language operations, e.g., extensible markup language (XML) queries, via a lightweight application program interface (API). The API defines an object model that can simplify construction of XML values in languages that do not natively support XML. The novel aspects of the described innovation can enable query languages to be factored into general operations (e.g., mapping, filtering, sorting, and/or projection of functions) on collections on one hand, and a set of domain specific operations (e.g., navigation, construction and modification) on the elements of these collections on another hand. The subject API can support creation of XML data that is node centric (e.g., context-free). Accordingly, nodes do not have to be constructed within the context of a document. Additionally, aspects can enable expression-oriented interface mechanisms as opposed to the imperative statement-oriented style interfaces used in connection with traditional interface mechanisms (e.g., DOM).
摘要:
The subject invention pertains to a system and method of incorporating collation information into data types. In particular, the subject invention provides for parameterizing data types with collation information such that a comparison between two different collations generates a static-type error rather than a run-time error. Additionally, the invention affords for conveniently working with localized data types to allow generic parameterization over collations as well as ordinary types. In the context of strings, the present invention enables concurrent use of strings in multiple languages and facilitates the correct handling thereof.
摘要:
A system for managing data element names, comprises a parent table for listing names of data elements that is constrained such that the parent table cannot grow beyond a first predetermined size. The system also includes a child table for listing names of data elements that is derived from the parent table and that is constrained such that the child table cannot grow beyond a second predetermined size. Methods for using the system are also provided.
摘要:
Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
摘要:
White space is made visible in a code editor to facilitate identification thereof via color, symbols, characters and/or the like. Further, white space can be explicitly identified and distinctly presented of various types including significant, insignificant and editor introduced. White space information can also be employed to aid code compilation and/or processing.
摘要:
Object instance annotation technology is disclosed. This technology is capable of annotating any number of instances for any number of objects. Object instance annotations can be of various types, and annotations can serve as data extensions. Objects are enabled for annotation either by developers, or, alternatively, automatically by a programming language or framework. Furthermore, an interface is provided for annotations. This interface has a variety of operations, some of which allow for adding, retrieving, or removing annotations. Annotations can be reference types or even value types. They may also be private class types. Once object instances are enabled for annotating, and the interface is set up, this interface can annotate a multitude of different kinds of objects. For example, it can annotate generic objects, XML trees, CodeDom trees, and so on.
摘要:
An optimizer/normalizer is used to generate optimized intermediate language representation of an input query, such as an XML input query. A method of optimization of an input query in intermediate language form includes receiving the input query, examining the nodes in a left-depth first manner to identify code patterns and node types which are subjects for optimization, tagging the identified code patterns until the intermediate language representation of the input query has been examined in its entirety, searching from the top of the intermediate language representation for tagged code patterns, and adjusting the tagged code patterns with improved code patterns to form an optimal representation for an input query. The input to the optimizer/normalizer is assumed to be an input query transformed into an intermediate language representation containing code patterns and nodes, each node having a respective node type.
摘要:
Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.