Wednesday, February 22, 2012

Indexing with the stepping API

The main loop, written in fake software. Some discussion on step_match_fetch follows.
opid = start;  // get the operator for the highest level index table
repeat   // nest through the tables until a solution
step_match_fetch(row)  // step the machine with the current opid and grab the match
if(row.type = index_table)
opid = row.data
else
terminate.
OK, step_match_fetch runs through an entire table, and we are really stepping through tables., in thei case sqlite3. We are stepping through tables here, swapping one table for another by chaining their prepared atch operators. The match operators are something like: select * from table where table.key = self.key limit 1; I hereby unpatent the concept.

But these are precompiled with chained operators for each of the nested indexed tables. Hence, Sqlite3 can do this way fast enough for data base ops. This will be a snap, but I need install going just dandy (I think they are).

No comments: