Package abel_extension
Extensions to the functionality of the ABEL library. Purpose: To extend and enhance the facilities of the ABEL library, specifically adding general features found in most databases (e.g. min, max, count, etc). How: By adding a series of extension, helper, and constants classes designed to meet the purpose statement above. Prerequisites: The ABEL ("A Better Eiffelstore Library") library and its Tutorial documentation as well as the "back-end" documentation. Basics: The ABEL extension library is mostly about two ideas: Making generic, easy, and reusable complex queries, hiding the complexity. Second, it is about making various helper classes such as AE_DATA_IDENTIFIED. * AE_DATA_ACCESSOR and AE_OBJECT_DATA_ACCESSOR [G]. Both of these classes allow for query access to a database, where AE_DATA_ACCESSOR is generic to any object type stored in the database and AE_OBJECT_DATA_ACCESSOR [G] is about a specific object type (e.g. the G generic parameter). * AE_DATA_IDENTIFIED is the heart of adding facilities like "primary_key" to objects being stored in the database. Currently, ABEL offers no way to access the primary keys and other common database facilities. I believe this is due to the cross-database nature of the library where the target repositories may or may not have the same features available in them. AE_DATA_IDENTIFIED attempts to bring these common facilities like "primary_key" to every database. * AE_OBJECT_STORE facilitates having `primary_key'-based references in objects rather than direct references (e.g. my_feature_id: INTEGER_64 a my_feature: detachable MY_FEATURE do Result := (create AE_OBJECT_STORE [MY_FEATURE]).object_for_id (my_feature_id) end This means that each object can be loaded very quickly without having to load the entire object-graph. Facilitates loading the graph only as deep as is needed. However, it does not bar one from loading the deep object graph (e.g. all of it).
tags: ABEL Eiffelstore extension database
Thu, 01 Jan 1970 00:00:00 GMT