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
