Uploaded image for project: 'MariaDB Connector/C'
  1. MariaDB Connector/C
  2. CONC-424

mysql_stmt_store_result returns empty error

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 3.0.10
    • 3.0.11, 3.1.3
    • None
    • None

    Description

      The mysql_stmt_store_result function can return an error, even though mysql_stmt_errno(), mysql_stmt_sqlstate(), and mysql_stmt_error() do not actually contain information about an error. This may be related to running stored procedures that contain a cursor.

      To reproduce, load the attached schema:

      sudo mysql -u root db1 < cursortest.sql
      

      And then build the attached program:

      g++ -ggdb -c $(mariadb_config --cflags) cursortest.cpp
      g++ -o cursortest cursortest.o $(mariadb_config --libs)
      

      And then run the program.

      At that point, you should see an empty error:

      $ ./cursortest
      Query: CALL testCursor()
      Failed to store result. Error 0 (00000):
      Result set #1 had 0 rows
      Received 1 result sets
      Query: CALL testNoCursor()
      Segmentation fault
      

      See CONC-425 about the segmentation fault.

      Attachments

        Issue Links

          Activity

            GeoffMontee Geoff Montee (Inactive) created issue -
            GeoffMontee Geoff Montee (Inactive) made changes -
            Field Original Value New Value
            GeoffMontee Geoff Montee (Inactive) made changes -
            Description The mysql_stmt_store_result function can return an error, even though mysql_stmt_errno(), mysql_stmt_sqlstate(), and mysql_stmt_error() do not actually contain information about an error. This may be related to running stored procedures that contain a cursor.

            To reproduce, load the attached schema:

            {noformat}
            sudo mysql -u root db1 < cursortest.sql
            {noformat}

            And then build the attached program:

            {noformat}
            g++ -ggdb -c $(mariadb_config --cflags) cursortest.cpp
            g++ -o cursortest cursortest.o $(mariadb_config --libs)
            {noformat}

            And then run the program.

            At that point, you should see an empty error:

            {noformat}
            $ ./cursortest
            Query: CALL testCursor()
            Failed to store result. Error 0 (00000):
            Result set #1 had 0 rows
            Received 1 result sets
            Query: CALL testNoCursor()
            Segmentation fault
            {noformat}
            The mysql_stmt_store_result function can return an error, even though mysql_stmt_errno(), mysql_stmt_sqlstate(), and mysql_stmt_error() do not actually contain information about an error. This may be related to running stored procedures that contain a cursor.

            To reproduce, load the attached schema:

            {noformat}
            sudo mysql -u root db1 < cursortest.sql
            {noformat}

            And then build the attached program:

            {noformat}
            g++ -ggdb -c $(mariadb_config --cflags) cursortest.cpp
            g++ -o cursortest cursortest.o $(mariadb_config --libs)
            {noformat}

            And then run the program.

            At that point, you should see an empty error:

            {noformat}
            $ ./cursortest
            Query: CALL testCursor()
            Failed to store result. Error 0 (00000):
            Result set #1 had 0 rows
            Received 1 result sets
            Query: CALL testNoCursor()
            Segmentation fault
            {noformat}

            See CONC-425 about the segmentation fault.
            georg Georg Richter made changes -
            georg Georg Richter made changes -
            georg Georg Richter made changes -
            Fix Version/s 3.0.11 [ 23716 ]
            Fix Version/s 3.1.3 [ 23743 ]
            Fix Version/s 3.1 [ 23223 ]
            georg Georg Richter made changes -
            issue.field.resolutiondate 2019-06-30 10:51:50.0 2019-06-30 10:51:50.479
            georg Georg Richter made changes -
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Closed [ 6 ]
            georg Georg Richter made changes -
            georg Georg Richter made changes -
            julien.fritsch Julien Fritsch made changes -
            Workflow MariaDB connectors [ 97863 ] MariaDB v4 [ 161177 ]

            People

              georg Georg Richter
              GeoffMontee Geoff Montee (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.