On Sun, Apr 6, 2014 at 6:13 PM, Hick Gunter <[email protected]> wrote:
> The vtable split method will happily accept a field from a join as in
>
> Select t.key,c.value from table t cross join cmlist on c.commalist=t.field;

Thanks. Given Max's other post, I now understand that, although I'll
have to code it myself to really see what's going on. Unless someone
can point me to publicly available code implementing this (no longer
working) trick?

But that other post from Max also says this "trick" no longer works
since 3.8.0, and may be relying on undocumented (and thus subject to
change) behavior. I'd much prefer a cleaner Oracle-like TABLE()
operator transforming the result array of a table-function operating
on correlated values from a join as an intermediate result-set, i.e.

select t.key, csv.COLUMN_VALUE from table t TABLE(scvsplit(t.csvfield)) csv

> Virtual tables don't declare virtual indices; they return an index number and 
> an index string from their BestIndex method.

You're nitpicking on semantic here IMHO. When the xBestIndex impl
fills in information about the cost of the various accesses SQLite
present it, it is in effect "declaring" virtual indices, at least I
think about it that way myself. --DD
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to