SDB ToDo list (and general notes) ================================= + Prepared statement query cache? When will it be beneficial - GraphSDB? + Value-based hashing String version - and have fixed choice of xsd:string or plain string for terms. Partial alternative: condition is "T.o = hash1 OR T.o = hash2" + Features: more general config setting? Or really use properties? layout; layout/index; layout/hash for now. + Generating SQL: + Precedence-driven output for SqlExpr // SqlExprGenerateSQL, not lots of nesting. + SELECT/one table ==> move constraints out (it's just SPJ) Put in a SqlNode optimizer stage, just before generation IJ-R-T => IJ(r)-T is done specially + Features: In desc file for now. Features are params to layout + Values and conditions : reactivate condition compilation. Need value access Isolate QC2.insertValueGetter + Ugly Store.getNodeKeyColName() + Term tests : check there is a test for ' quotes + Script library + cmd: @ --load for sdb.sdbquery --format Done - but should be ModData/ModInit/ModSetup + Add query tests : /Structure/ { opt ... } JOIN { opt ... } + Abstracting databases: Graph for an SDBConnection (or get from DB). That is the unit of database if there are multiple stores per connection. Or maybe a Store features? A/ regex syntax B/ Table exists code (Classes, Value tables etc). + ValueTables String value table With no URIs, much shorter. Full text indexing where available? + Graph pattern tables + Abstract columns types then simple templating. VARCHAR/TEXT/BLOB abstract syntax