Revert "Feat/refractor batch grpc async support"#49
Conversation
This reverts commit 4a1fa92.
📝 WalkthroughWalkthroughThis PR removes async support, batch operations ( ChangesQQL Sync-Only Simplification
🎯 4 (Complex) | ⏱️ ~60 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/qql/script.py (1)
22-33:⚠️ Potential issue | 🟠 Major | ⚡ Quick winMissing
UPDATEin statement starters will break script splitting.The
_STMT_STARTERSset is missingTokenKind.UPDATE. This means scripts containing UPDATE statements will not correctly split at UPDATE boundaries - the UPDATE statement will be appended to the previous statement, causing parse failures.🐛 Proposed fix
_STMT_STARTERS = { TokenKind.INSERT, TokenKind.CREATE, TokenKind.ALTER, TokenKind.DROP, TokenKind.SHOW, TokenKind.SELECT, TokenKind.SCROLL, TokenKind.SEARCH, TokenKind.RECOMMEND, TokenKind.DELETE, + TokenKind.UPDATE, }🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/qql/script.py` around lines 22 - 33, The _STMT_STARTERS set is missing TokenKind.UPDATE which prevents correct splitting at UPDATE boundaries; fix by adding TokenKind.UPDATE to the _STMT_STARTERS collection in src/qql/script.py (update the set that includes TokenKind.INSERT, TokenKind.CREATE, etc.) so script splitting and parser behavior can recognize UPDATE as a statement starter.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/reference.md`:
- Line 190: Update the documented test count by replacing the string "Expected
output: **604 tests passing**" in docs/reference.md with "Expected output: **549
tests passing**" so it matches the updated baseline in README.md; also scan
docs/reference.md for any other occurrences of "604 tests passing" and update
them to "549" to keep documentation consistent.
- Line 154: The fenced code block that begins with the text "qql/" is unlabeled
and triggers MD040; add a language specifier (for example "text") to the opening
triple backticks so the block becomes ```text to silence markdownlint. Locate
the fenced block containing "qql/" (the directory tree snippet) and change its
opening fence to include the language label.
---
Outside diff comments:
In `@src/qql/script.py`:
- Around line 22-33: The _STMT_STARTERS set is missing TokenKind.UPDATE which
prevents correct splitting at UPDATE boundaries; fix by adding TokenKind.UPDATE
to the _STMT_STARTERS collection in src/qql/script.py (update the set that
includes TokenKind.INSERT, TokenKind.CREATE, etc.) so script splitting and
parser behavior can recognize UPDATE as a statement starter.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 11f5085d-ca07-481c-8634-e2f36dcffbb8
📒 Files selected for processing (19)
README.mddocs/getting-started.mddocs/programmatic.mddocs/reference.mddocs/scripts.mdsrc/qql/__init__.pysrc/qql/ast_nodes.pysrc/qql/async_connection.pysrc/qql/async_executor.pysrc/qql/connection.pysrc/qql/executor.pysrc/qql/lexer.pysrc/qql/parser.pysrc/qql/script.pysrc/qql/utils.pytests/test_async_connection.pytests/test_connection.pytests/test_executor.pytests/test_parser.py
💤 Files with no reviewable changes (8)
- src/qql/async_executor.py
- src/qql/async_connection.py
- src/qql/utils.py
- src/qql/lexer.py
- tests/test_connection.py
- tests/test_async_connection.py
- tests/test_parser.py
- tests/test_executor.py
| ## Project Structure | ||
|
|
||
| ```text | ||
| ``` |
There was a problem hiding this comment.
Add a language to this fenced block to clear markdownlint warning.
Line 154 uses an unlabeled fenced code block, which triggers MD040.
Suggested patch
-```
+```text
qql/
├── pyproject.toml # Package config; installs the `qql` CLI command
...
-```
+```🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 154-154: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/reference.md` at line 154, The fenced code block that begins with the
text "qql/" is unlabeled and triggers MD040; add a language specifier (for
example "text") to the opening triple backticks so the block becomes ```text to
silence markdownlint. Locate the fenced block containing "qql/" (the directory
tree snippet) and change its opening fence to include the language label.
| ``` | ||
|
|
||
| Expected output: **635 tests passing**. | ||
| Expected output: **604 tests passing**. |
There was a problem hiding this comment.
Align the documented test count with the current docs baseline.
Line 190 says 604 tests passing, but this PR’s updated docs elsewhere now state 549 (for example, README.md, Line 191). Keep this consistent to avoid confusion.
Suggested patch
-Expected output: **604 tests passing**.
+Expected output: **549 tests passing**.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Expected output: **604 tests passing**. | |
| Expected output: **549 tests passing**. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/reference.md` at line 190, Update the documented test count by replacing
the string "Expected output: **604 tests passing**" in docs/reference.md with
"Expected output: **549 tests passing**" so it matches the updated baseline in
README.md; also scan docs/reference.md for any other occurrences of "604 tests
passing" and update them to "549" to keep documentation consistent.
Reverts #48
Summary by CodeRabbit
Release Notes
Refactor
Documentation
Tests