Closed oranja closed 8 years ago
Thanks for this. Unfortunately I won't be able to work on it until early January, so you might need to work around it temporarily (e.g. those joins that you mentioned).
Okay, I've put a fix on the dev branch. Please check that this does what you need, and if so I'll merge it to master.
I assume that no news is good news, so I have merged dev to master.
Sorry for not providing feedback earlier. I moved to another module in the project for a while, so I postponed it until I was done.
I pulled from master today, rebuilt and tested both the sample code and the project linked against the new binaries. The new version works great and the bug is indeed not present anymore as far as I can tell.
Thank you. :pray:
Hello again Michael, I've encountered another small problem with Quince that I would like to share the details of, at least to save some other people's time perhaps.
The issue is as such: Let's assume that in one SQLite database we have two tables: T1 and T2. Now let's assume that we want to query T1, and for each record returned we want to run some code that involves the execution of a query on T2 and processing its records. Iterators are used to actually receive the data from both queries. Unfortunately, the outcome is an infinite loop. For some reason, each internal query puts the outer iterator back at the
begin()
ning.I should note that I found no explanation or hints for this behavior in the documentation. Specifically I went through Chapter 7. Queries and Chapter 11. Connection Management several times to make sure I did not miss anything.
The following code reproduces the problem, although it is not a realistic use case. In a more complex code and a very specific case, I decided to choose client-side nested queries over server-side joins, for a better separation of responsibilities (preferred design over engineering).
Makefile
quince_nested.cpp
Then...