Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a proposed fix for the statement caching issue described in #6
My approach is basically what @mattstevens proposes in the issue thread: Cached statements are now only dolled out when they aren't currently associated with an open FMResultSet. Once an associated result set is closed the cached statement becomes available for reuse.
I added a simple test case to fmdb.m to validate the fix and confirm that it doesn't break statement caching altogether. All tests in fmdb.m apparently continue to pass. I ran no other regression tests to see if I somehow broke something else.
My fix uses __weak, but I provided a non-arc/non-weak compilation path. But this is untested.
I believe this fix negates the need for the fix applied for similar issue #106. But that fix doesn't conflict with mine.