The system, method, and program of this invention enables an object language application (e.g., C++, JAVA, etc.,) to issue a query over a view and to receive back, as query results, handles to application type objects which can be further manipulated by the application. A view is defined herein as a collection of a view type, and a view type is defined as a class or type. Upon receipt of the query referencing a view type, a query engine generates a query plan that builds mock (i.e., proxy) application type objects in memory based upon the view types. The application can run methods on the application type objects or point to other application type objects from the handles, to the application objects, that are returned to the application; and these manipulations will be understood by the query engine. In a preferred embodiment, query rewrite optimizations are applied to the queries over views requiring object building in order to optimize the evaluation of the query and the building of view objects as query results. For example, when a query over a view is analyzed and it is determined that the query is not requesting a handle, and is not referencing a method, but only asks for values, no objects are built. Also, if a query traverses a reference type attribute, but the query can be transformed into a join or outer join operation between relational tables, then no object building is required. In these above described situations, the rewritten query can be pushed down to the database management system of the data source for resolution. If the query does request a handle or references a method, then some object building is required. However, query rewrite techniques can still be applied so that parts of the query are pushed down to the DBMS to minimize the number of objects that are built.

Система, метод, и программа этого вымысла позволяют применение языка предмета (например, C++, JAVA, ETC) выдать query над взглядом и получить назад, в результаты query, ручки к предметам типа применения которые могут более в дальнейшем быть манипулированы применением. Взгляд определен здесь как собрание типа взгляда, и тип взгляда определен как тип или тип. На получении query снабжая ссылками тип взгляда, двигатель query производит план query который строит предметы типа применения mock (т.е., полномочия) в памяти основанной на типах взгляда. Применение может побежать методы на предметах типа применения или пункт к другим предметам типа применения от ручек, к предметам применения, которые возвращены к применению; и эти манипуляции будут поняты двигателем query. В предпочитаемом воплощении, оптимизирования rewrite query приложены к queries над взглядами требуя здания предмета для того чтобы оптимизировать оценку query и здание предметов взгляда в результаты query. Например, когда будет проанализирован query над взглядом и будет обусловлено что query не спрашивает ручку, и не снабжает ссылками метод, а только просит значения, никакие предметы построьте. Также, если query траверсирует атрибут типа справки, то только query смогите быть преобразовано в соединять или наружно соедините деятельность между реляционными таблицами, после этого никакое здание предмета требует. В этих над описанными ситуациями, перезаписанный query можно нажать вплоть до системаа организации хозяйства базы данных источника данных для разрешения. Если query спрашивает ручку или снабжает ссылками метод, то некоторое здание предмета необходимо. Однако, методы rewrite query можно все еще приложить так, что части query будут нажаты вплоть до dbms для того чтобы уменьшить число предметов которые построены.

 
Web www.patentalert.com

< (none)

< Method and apparatus for dynamic derivatives desktops

> Method for revoking computer backup files using cryptographic techniques

> (none)

~ 00003