[eml-dev] [Bug 2575] New: - Data Manager Library: Support for query object API
bugzilla-daemon@ecoinformatics.org
bugzilla-daemon at ecoinformatics.org
Fri Oct 27 13:01:08 PDT 2006
http://bugzilla.ecoinformatics.org/show_bug.cgi?id=2575
Summary: Data Manager Library: Support for query object API
Product: EML
Version: 2.0.1
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: eml - general bugs
AssignedTo: dcosta at lternet.edu
ReportedBy: dcosta at lternet.edu
QAContact: eml-dev at ecoinformatics.org
The original design of the Data Manager Library was somewhat vague in its
support for querying data tables. After further discussion (Matt, Jing, Duane,
and Mark Servilla), we think that allowing the calling application to pass in
an ANSI SQL string would be too problematic because of the parsing
requirements. The problems arise from needing to parse non-standard entity
names into database table names, and non-standard attribute names into database
field names. For example:
SELECT SPECIES NAME, SPECIES ID FROM SPECIES
means one thing from the perspective of entities and attributes, but something
else from a database perspective, where "NAME" and "ID" would be interpreted as
column aliases.
Instead, we will design a query class that the calling application can use to
construct its queries in a more structured way by setting various attributes of
the query object. At some later point, we may also support queries in an XML
format that could be mapped onto the query object by the Data Manager Library.
This would facilitate passing queries between two or more processes (e.g. first
from Morpho to Metacat, and then from Metacat to the Data Manager Library
code).
The JDBC ResultSet object that is returned could also pose a problem, since it
contains references to the database table field names, not the original
attribute names. The calling application could get around this by restricting
itself to accessing the fields by position rather than by name.
More information about the Eml-dev
mailing list