Repository navigation
fix(ios): run every statement in the query editor - #3404
Merged
Merged
Conversation
Signed-off-by: Dat Ngo Quoc <datlechin@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Why
On iPhone and iPad, a query holding several statements ran only the first. The editor sent the whole text in one call, and SQLite compiles only the first statement, so
CREATE TABLEran and theINSERTwas dropped.CREATE TABLEchanges no rows, so the result area went back to its empty placeholder, which looked like a freeze.Change
GObatch runs whole. The first failure ends the run and reportsStatement 2/3 failed, plus whether the earlier statements stand.CALLno longer breaks the connection (Mac too). SQLite DDL no longer repeats the last row count (Mac too).Verified
SQLiteDriverFileTestsruns the reported text against a real file and gets 7 rows. Each driver fix was measured before and after against SQLite 3.54, PostgreSQL 18, MySQL 8.4 and DuckDB 1.5.2. The iOS tests compile here and run on CI, since this machine has no simulator runtime, so there are no screenshots.Not in this PR
KILL QUERYpath yet.SELECTthat calls a writing function is cancelled at the 10,000-row cap, which undoes those writes. The Mac does the same.ANSI_QUOTES, a double-quoted identifier ending in a backslash splits wrongly. The Mac does the same, because the server never reportsANSI_QUOTES.Fixes #3399