Because the AuxData stores only the line number in the program, this means that if a function that uses auxdata is called in two different trigger programs, it might interfere and give the wrong result. Possibly it can be fixed by storing the pointer into the program instead of the line number.
I also have some feature request having to do with virtual tables. One is allowing a virtual table implementation to consume LIMIT/OFFSET clauses. This may be useful when retrieving data from internet. Other is to allow batch UPDATE/DELETE operations on virtual tables. I have some ideas about how to implement this. One is to add to the index info structure, the operation code and the update mask; this optimization is only performed if the implementation is capable of consuming the entire WHERE clause. Therefore, only if all of the records being updated/deleted are in the cursor being accessed. Another is having extra methods (optional) of virtual table module, which can be used to implement these operations. After xBestIndex then, after opening the cursor it might call xBatchUpdate or something like that.