mysqlc: Fix query of cursor position in result set

Desktop / LibreOffice - Tamas Bunth [collabora.co.uk] - 29 July 2019 20:33 UTC

Fix queries like "IsAfterLast" in result sets of prepared statements in the mysql driver.

Cursor position is stored in the driver, since the mysql C driver does not support the query of the cursor position.

The cursor position works the following way:- 0 means the cursor is on "BeforeFirst". In that state calling of getXXX() methods is user error.
- 1 means the first row is already fetched.- n means the last fow is fetched, where n is the total number of rows in the result set.- Everything bigger than n is "AfterLast"

Change-Id: I131f2042606897019cc0f868dbc4151faf4850ac Reviewed-on: https://gerrit.libreoffice.org/76549

41d3be4a48ea mysqlc: Fix query of cursor position in result set
connectivity/qa/connectivity/mysql/mysql.cxx | 41 ++++++
.../drivers/mysqlc/mysqlc_prepared_resultset.cxx | 164 +++++++++++----------
.../drivers/mysqlc/mysqlc_prepared_resultset.hxx | 7 +-
3 files changed, 130 insertions(+), 82 deletions(-)

Upstream: cgit.freedesktop.org


  • Share