• unknown's avatar
    Bug#25714 · ebd1eb42
    unknown authored
      "getGeneratedKeys() does not work with FEDERATED table"
      mysql_insert() expected the storage engine to update the row data
      during the write_row() operation with the value of the new auto-
      increment field. The field must be updated when only one row has
      been inserted as mysql_insert() would ignore the thd->last_insert.
      This patch implements HA_STATUS_AUTO support in ha_federated::info()
      and ensures that ha_federated::write_row() does update the row's
      auto-increment value.
      The test case was written in C as the protocol's 'id' value is
      accessible through libmysqlclient and not via SQL statements.
      mysql-test-run.pl was extended to enable running the test binary.
    
    
    mysql-test/mysql-test-run.pl:
      bug25714
        implement support to run C test for bug25714
    sql/ha_federated.cc:
      bug25714
        The storage engine instance property auto_increment_value was not
        being set.
        mysql_insert() requires that the storage engine updates the row with
        the auto-increment value, especially when only inserting one row.
        Implement support for ha_federated::info(HA_STATUS_AUTO)
    tests/Makefile.am:
      bug25714
        build C test for bug
    mysql-test/include/have_bug25714.inc:
      New BitKeeper file ``mysql-test/include/have_bug25714.inc''
    mysql-test/r/federated_bug_25714.result:
      New BitKeeper file ``mysql-test/r/federated_bug_25714.result''
    mysql-test/r/have_bug25714.require:
      New BitKeeper file ``mysql-test/r/have_bug25714.require''
    mysql-test/t/federated_bug_25714.test:
      New BitKeeper file ``mysql-test/t/federated_bug_25714.test''
    tests/bug25714.c:
      New BitKeeper file ``tests/bug25714.c''
    ebd1eb42
ha_federated.cc 86.7 KB