Re: [sqlite] [EXTERNAL] Help with sqlite3TreeViewSelect

2019-07-29 Thread Simon Slavin
On 29 Jul 2019, at 5:44pm, x wrote: > It’s not as easy to get access to sqlite3TreeViewSelect on windows as it > would appear to be in the unix debugger. When I did find out how to access it > I noticed it returned a string that would enable me to do away with reams of > code I wrote to do

Re: [sqlite] [EXTERNAL] Help with sqlite3TreeViewSelect

2019-07-29 Thread x
Thanks Richard. I’ve being doing my best with the code but time is not on my side. It took me ages just to get the clang compiler to debug sqlite code (had to split the files). It’s not as easy to get access to sqlite3TreeViewSelect on windows as it would appear to be in the unix debugger.

Re: [sqlite] [EXTERNAL] Help with sqlite3TreeViewSelect

2019-07-29 Thread Richard Hipp
On 7/29/19, Hick Gunter wrote: > Qquestions about which internal > representation ... is something only the developers would > be able to divulge, The internal representation and the output of sqlite3TreeViewSelect() are emphatically not APIs. Both are undocumented and both can and do change

Re: [sqlite] [EXTERNAL] Help with sqlite3TreeViewSelect

2019-07-29 Thread Hick Gunter
You stated your goals were a) authorization b) some unspecified manipulation I don't see how the order of the information available on the Sqlite authorizer interface is at all relevant to the result of authorization. Either the set of necessary operations are all allowed individually (total

Re: [sqlite] [EXTERNAL] Help with sqlite3TreeViewSelect

2019-07-29 Thread x
I’m still not sure what you’re getting at Gunter. The example code doesn’t present a problem, it’s when subqueries within subqueries and withs are added it gets a lot more complex. I’ve already written c++ code that interprets (more or less) any sql and works out the schema.table.column each

Re: [sqlite] [EXTERNAL] Help with sqlite3TreeViewSelect

2019-07-29 Thread Hick Gunter
Let's go back to your example statement with your join of two tables. select b,c from tbl0 join tbl1 where tbl0.a = tbl1.a and tbl0.a > ?1; SQLIte should ask the authorizer the following questions: 1) SELECT 2) READ tbl0 3) READ tbl1 4) READ tbl0 field a 5) READ tbl1 field a 6) READ tbl0 field

Re: [sqlite] [EXTERNAL] Help with sqlite3TreeViewSelect

2019-07-29 Thread x
>>That strikes me as purely procedural thinking. Does the set of allowed >>operations really depend on the order of the requests (which probably depends >>on the query plan)? E.g. "you can update this field of this table only if you >>read this other field from that other table *first*"? I’m

Re: [sqlite] [EXTERNAL] Help with sqlite3TreeViewSelect

2019-07-29 Thread Hick Gunter
That strikes me as purely procedural thinking. Does the set of allowed operations really depend on the order of the requests (which probably depends on the query plan)? E.g. "you can update this field of this table only if you read this other field from that other table *first*"?

Re: [sqlite] [EXTERNAL] Help with sqlite3TreeViewSelect

2019-07-29 Thread x
>>Your implicit claim is "not all instances of column reference are reported to >>the authorizer, notably those inside a USING clause That and you’ve got to anticipate the order they’re sent to the callback in. ___ sqlite-users mailing list

Re: [sqlite] [EXTERNAL] Help with sqlite3TreeViewSelect

2019-07-29 Thread Hick Gunter
Note that parsing debug output is not a stable method of analysis (meaning SQlite Dev can change anything at whim), whereas the authorizer interface is documented. Your implicit claim is "not all instances of column reference are reported to the authorizer, notably those inside a USING