Commit c8c0140e authored by unknown's avatar unknown
Browse files

Fix a formatting bug and add a test for it.


sql/share/errmsg.txt:
  Fix a formatting bug.
sql/sql_prepare.cc:
  Fix a formatting bug.
tests/mysql_client_test.c:
  Test the server side error message.
parent 28d40442
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5355,6 +5355,6 @@ ER_BINLOG_CREATE_ROUTINE_NEED_SUPER
ER_EXEC_STMT_WITH_OPEN_CURSOR
	eng "You can't execute a prepared statement which has an open cursor associated with it. Reset the statement to re-execute it."
ER_STMT_HAS_NO_OPEN_CURSOR
	eng "The statement (%d) has no open cursor."
	eng "The statement (%lu) has no open cursor."
ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG
        eng "Explicit or implicit commit is not allowed in stored function or trigger."
+1 −1
Original line number Diff line number Diff line
@@ -2209,7 +2209,7 @@ void mysql_stmt_fetch(THD *thd, char *packet, uint packet_length)

  if (!stmt->cursor || !stmt->cursor->is_open())
  {
    my_error(ER_STMT_HAS_NO_OPEN_CURSOR, MYF(0));
    my_error(ER_STMT_HAS_NO_OPEN_CURSOR, MYF(0), stmt_id);
    DBUG_VOID_RETURN;
  }

+14 −1
Original line number Diff line number Diff line
@@ -12995,6 +12995,19 @@ static void test_bug9478()
    rc= mysql_stmt_fetch(stmt);
    DIE_UNLESS(rc == MYSQL_NO_DATA);

    {
      char buff[8];
      /* Fill in the fethc packet */
      int4store(buff, stmt->stmt_id);
      buff[4]= 1;                               /* prefetch rows */
      rc= ((*mysql->methods->advanced_command)(mysql, COM_STMT_FETCH, buff,
                                               sizeof(buff), 0,0,1) ||
           (*mysql->methods->read_query_result)(mysql));
      DIE_UNLESS(rc);
      if (!opt_silent && i == 0)
        printf("Got error (as expected): %s\n", mysql_error(mysql));
    }

    rc= mysql_stmt_execute(stmt);
    check_execute(stmt, rc);

@@ -13039,7 +13052,7 @@ static void test_bug9478()
      /* Fill in the execute packet */
      int4store(buff, stmt->stmt_id);
      buff[4]= 0;                               /* Flag */
      int4store(buff+5, 1);                     /* Return 1 row */
      int4store(buff+5, 1);                     /* Reserved for array bind */
      rc= ((*mysql->methods->advanced_command)(mysql, COM_STMT_EXECUTE, buff,
                                               sizeof(buff), 0,0,1) ||
           (*mysql->methods->read_query_result)(mysql));