Odbc static cursors - #660
Conversation
ODBC integration report✨ Open the interactive Allure report · 📦 Download the report bundle Commit: |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 17df722cad
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
AI Review Summary
Verdict: ✅ No critical issues found
The cursor window implementation correctly follows the ODBC spec for all fetch orientations (NEXT, PRIOR, FIRST, LAST, ABSOLUTE, RELATIVE), including the overlapped-start SQLSTATE 01S06. The NegativeMagnitude helper correctly handles SQLLEN_MIN without signed overflow. The PrimitiveText refactoring in convert.cpp is safe — both old and new paths ultimately call WriteText for string types, so the only change is avoiding a string copy. The FillBoundColumns error-handling change (removing the LastFetchRc_ == SQL_SUCCESS guard) is an improvement: the old code could leave LastConvertSqlState unconsumed when a second column failed after the first, leaking state to the next GetData call.
Critical issues
No critical issues found.
Other findings
- Minor | Medium:
TStaticCursor::EnsureRowthrows genericstd::runtime_errorthrough the ODBC API boundary —odbc/src/utils/cursor.cpp:133 - Minor | Low:
TForwardCursorbypasses the inheritedTCursorWindowentirely (overridesFetch/GetRowNumberwithout delegation), leaving the base-class window attotalRows=0—odbc/src/utils/cursor.cpp:55 - Nit | Low:
PrimitiveTextreturnsstd::string_viewinto parser-owned state; lifetime is correct in all current call sites but the contract is implicit —odbc/src/utils/convert.cpp:542
This review was generated automatically. Critical issues require attention; other findings are advisory.
If this comment was useful, please give it a 👍 — it helps us improve the review bot.
|
Analysis performed by claude, claude-opus-4-6. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 70fa75ebb2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
AI Review Summary
Verdict: ✅ No critical issues found
Critical issues
No critical issues found.
Other findings
- Nit | High: SQLSTATE inconsistency —
setCursorTypeusesHY011butSQL_ATTR_CONCURRENCYuses24000for the same "cursor is open" guard —odbc/src/statement.cpp:875/odbc/src/statement.cpp:910
This review was generated automatically. Critical issues require attention; other findings are advisory.
If this comment was useful, please give it a 👍 — it helps us improve the review bot.
|
Analysis performed by claude, claude-opus-4-6. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ca764629e5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2b4b301491
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
No description provided.