Hi,

I have been working on Apache derby in order to make it an option to query
vague data (using fuzzy models) not only crisp data.

This is the progress I made so far.

* Stdied Apache architecture, its modules : Query Parser, Excution, Store,
JDBC Layer etc.
* Prep a fuzzy query grammar file
* Studied Apache derby byte code generation machinery

I figured out the call hierarchy that happens on a "SELECT" query.

at org.apache.derby.impl.store.raw.xact.Xact.setActiveState(Xact.java:1864)
at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Xact.java:1342)
at
org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init(OpenConglomerate.java:910)
at org.apache.derby.impl.store.access.heap.Heap.open(Heap.java:688)
at
org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(RAMTransaction.java:464)
at
org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(RAMTransaction.java:1287)
at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getDescriptorViaIndexMinion(DataDictionaryImpl.java:9470)
at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getDescriptorViaIndex(DataDictionaryImpl.java:9426)
at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.locateSchemaRow(DataDictionaryImpl.java:1817)
at
org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getSchemaDescriptor(DataDictionaryImpl.java:1684)
at
org.apache.derby.iapi.sql.StatementUtil.getSchemaDescriptor(StatementUtil.java:138)
* at
org.apache.derby.impl.sql.compile.QueryTreeNode.getSchemaDescriptor(QueryTreeNode.java:1066)
*
* at
org.apache.derby.impl.sql.compile.QueryTreeNode.getSchemaDescriptor(QueryTreeNode.java:1042)
*
* at
org.apache.derby.impl.sql.compile.FromBaseTable.bindTableDescriptor(FromBaseTable.java:2673)
*
* at
org.apache.derby.impl.sql.compile.FromBaseTable.bindNonVTITables(FromBaseTable.java:2303)
*
* at
org.apache.derby.impl.sql.compile.FromList.bindTables(FromList.java:344)*
* at
org.apache.derby.impl.sql.compile.SelectNode.bindNonVTITables(SelectNode.java:524)
*
* at
org.apache.derby.impl.sql.compile.DMLStatementNode.bindTables(DMLStatementNode.java:193)
*
* at
org.apache.derby.impl.sql.compile.DMLStatementNode.bind(DMLStatementNode.java:127)
*
* at
org.apache.derby.impl.sql.compile.CursorNode.bindStatement(CursorNode.java:274)
*
* at
org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:423)
*
* at
org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:100)
*
* at
org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:1109)
*
* at
org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:685)*
* at
org.apache.derby.impl.jdbc.EmbedStatement.executeQuery(EmbedStatement.java:148)
*
* at edu.uom.derby.test.Main.go(Main.java:218)*

I know the machinery up to the bold method calls in the listing. I cant
figure out how the generated byte code classes get hooked up with these
calls along with resultset and excution factories. I would be much pleased
if you could help me.

Madushanka Fonseka
Sn. Engineer - technology

Reply via email to