1. 16 Jan, 2017 1 commit
    • Olivier Bertrand's avatar
      Fix info cardinality for catalog tables. · 707cd985
      Olivier Bertrand authored
      Was returning 0, which caused an assert error when retreiving records.
        modified:   storage/connect/connect.cc
        modified:   storage/connect/xtable.h
      
      Add the create and insert possibility to zipped tables
        modified:   storage/connect/domdoc.cpp
        modified:   storage/connect/domdoc.h
        modified:   storage/connect/filamzip.cpp
        modified:   storage/connect/filamzip.h
        modified:   storage/connect/ha_connect.c
        modified:   storage/connect/plgdbutl.cpp
        modified:   storage/connect/plgxml.cpp
        modified:   storage/connect/plgxml.h
        modified:   storage/connect/tabdos.cpp
        modified:   storage/connect/tabdos.h
        modified:   storage/connect/tabfmt.cpp
        modified:   storage/connect/tabfmt.h
        modified:   storage/connect/tabjson.cpp
        modified:   storage/connect/tabxml.cpp
        modified:   storage/connect/tabzip.cpp
        modified:   storage/connect/tabzip.h
      
      Fix skipping header record for mulentries zipped CSV tabled
        modified:   storage/connect/filamap.cpp
      
      Accept M (memo) column type for DBF tables
      Fix miscalculation of Blksize when LRECL was replaced by DBF LRECL
        modified:   storage/connect/filamdbf.cpp
      
      Change the names of GZ compress classes (not to be confused with ZIP)
        modified:   storage/connect/filamgz.cpp
        modified:   storage/connect/filamgz.h
      
      add trace in PlugSetPath
        modified:   storage/connect/plugutil.c
      
      Add tests fir ZIP
        added:      storage/connect/mysql-test/connect/r/xml_zip.result
        added:      storage/connect/mysql-test/connect/r/zip.result
        added:      storage/connect/mysql-test/connect/std_data/bios.json
        added:      storage/connect/mysql-test/connect/std_data/xsample2.xml
        added:      storage/connect/mysql-test/connect/t/have_zip.inc
        added:      storage/connect/mysql-test/connect/t/xml_zip.test
        added:      storage/connect/mysql-test/connect/t/zip.test
      707cd985
  2. 24 Dec, 2016 2 commits
  3. 23 Dec, 2016 1 commit
    • Olivier Bertrand's avatar
      Fix some XML table type bugs: · 5c0c6235
      Olivier Bertrand authored
      - in DOMNODELIST::DropItem
        if (Listp == NULL || Listp->length <= n)
          return true;
      is wrong, should be:
        if (Listp == NULL || Listp->length < n)
          return true;
      - Crash in discovery with libxml2 in XMLColumns because:
                  if (!tdp->Usedom)    // nl was destroyed
                    vp->nl = vp->pn->GetChildElements(g);
      is executed with vp->pn uninitialized. Fixed by adding:
                vp->pn = node;
      line 264.
      -In discovery with libxml2 some columns are not found.
      Because list was not recovered properly, nodes being modified and not reallocated.
      Fixed lines 214 and 277.
        modified:   storage/connect/domdoc.cpp
        modified:   storage/connect/tabxml.cpp
      
      Add support for zipped table files
        modified:   storage/connect/domdoc.cpp
        modified:   storage/connect/domdoc.h
        modified:   storage/connect/filamap.cpp
        modified:   storage/connect/filamap.h
        modified:   storage/connect/filamzip.cpp
        modified:   storage/connect/filamzip.h
        modified:   storage/connect/ha_connect.cc
        modified:   storage/connect/libdoc.cpp
        modified:   storage/connect/plgdbutl.cpp
        modified:   storage/connect/plgxml.cpp
        modified:   storage/connect/plgxml.h
        modified:   storage/connect/tabdos.cpp
        modified:   storage/connect/tabdos.h
        modified:   storage/connect/tabfmt.cpp
        modified:   storage/connect/tabjson.cpp
        modified:   storage/connect/tabxml.cpp
      5c0c6235
  4. 22 Dec, 2016 3 commits
  5. 21 Dec, 2016 3 commits
  6. 20 Dec, 2016 2 commits
  7. 19 Dec, 2016 2 commits
  8. 15 Dec, 2016 1 commit
  9. 14 Dec, 2016 7 commits
  10. 13 Dec, 2016 1 commit
    • Jan Lindström's avatar
      MDEV-10368: get_latest_version() called too often · 72cc73ce
      Jan Lindström authored
      Reduce the number of calls to encryption_get_key_get_latest_version
      when doing key rotation with two different methods:
      
      (1) We need to fetch key information when tablespace not yet
      have a encryption information, invalid keys are handled now
      differently (see below). There was extra call to detect
      if key_id is not found on key rotation.
      
      (2) If key_id is not found from encryption plugin, do not
      try fetching new key_version for it as it will fail anyway.
      We store return value from encryption_get_key_get_latest_version
      call and if it returns ENCRYPTION_KEY_VERSION_INVALID there
      is no need to call it again.
      72cc73ce
  11. 12 Dec, 2016 3 commits
  12. 11 Dec, 2016 4 commits
    • Olivier Bertrand's avatar
      - MDEV-11295: developing handling files contained in ZIP file. · 0e06a835
      Olivier Bertrand authored
        A first experimental and limited implementation.
        Add NOCRYPT preprocessor definition to avoid compiling error
        modified:   storage/connect/CMakeLists.txt
      0e06a835
    • Elena Stepanova's avatar
      5d9ca522
    • Olivier Bertrand's avatar
      - MDEV-11295: developing handling files contained in ZIP file. · 9afa9009
      Olivier Bertrand authored
        A first experimental and limited implementation.
        modified:   storage/connect/CMakeLists.txt
        modified:   storage/connect/filamap.cpp
        new file:   storage/connect/filamzip.cpp
        new file:   storage/connect/filamzip.h
        modified:   storage/connect/ha_connect.cc
        new file:   storage/connect/ioapi.c
        new file:   storage/connect/ioapi.h
        modified:   storage/connect/mycat.cc
        modified:   storage/connect/plgdbsem.h
        modified:   storage/connect/plgdbutl.cpp
        modified:   storage/connect/tabdos.cpp
        modified:   storage/connect/tabdos.h
        modified:   storage/connect/tabfmt.cpp
        modified:   storage/connect/tabfmt.h
        modified:   storage/connect/tabjson.cpp
        modified:   storage/connect/tabjson.h
        new file:   storage/connect/tabzip.cpp
        new file:   storage/connect/tabzip.h
        new file:   storage/connect/unzip.c
        new file:   storage/connect/unzip.h
        new file:   storage/connect/zip.c
      9afa9009
    • Sergei Golubchik's avatar
      Merge branch '10.0' into 10.1 · 2f20d297
      Sergei Golubchik authored
      2f20d297
  13. 10 Dec, 2016 2 commits
  14. 09 Dec, 2016 2 commits
  15. 08 Dec, 2016 4 commits
    • Sergei Golubchik's avatar
      MDEV-10713: signal 11 error on multi-table update - crash in... · 03dabfa8
      Sergei Golubchik authored
      MDEV-10713: signal 11 error on multi-table update - crash in handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))
      
      Different fix. Don't allow Item_func_sp to be evaluated unless
      all tables are prelocked.
      
      Extend the test case to make sure Item_func_sp::val_str is called
      (the table must have at least one row for that).
      03dabfa8
    • Sergei Golubchik's avatar
      Revert "MDEV-10713: signal 11 error on multi-table update - crash in... · ab65db6d
      Sergei Golubchik authored
      Revert "MDEV-10713: signal 11 error on multi-table update - crash in handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))"
      
      This reverts commit 035a5ac6.
      
      Two minor problems and one regression:
      1. caching the value in str_result. Other Item methods may use it,
         destroying the cache. See, for example, Item::save_in_field, where
         str_result is moved to use a local buffer (this failed main.grant)
      2. Item_func_conv_charset::safe is now set too late, it's initialized
         only in val_str() but checked before that, this failed many tests
         in optimized builds.
      
      to fix 1 - use tmp_result instead of str_result, to fix 2, use
      the else branch in the Item_func_conv_charset constructor to set
      safe purely from charset properties.
      
      But this introduces a regression, constant strings can no longer be
      converted, say, from utf8 to latin1 (because 'safe' will be false).
      This fails few tests too. There is no way to fix it without reverting
      the commit and converting constants, as before, in the constructor.
      ab65db6d
    • Elena Stepanova's avatar
      MDEV-11491 binlog_encryption.rpl_checksum fails sporadically in buildbot · 870d7589
      Elena Stepanova authored
      The race condition happened if mark_xid_done was considerably delayed,
      and an extra Binlog_checkpoint event was written into the binary log
      which was later indicated in an error message. Fixed by ensuring
      that the event is written before the binary log is rotated to the one
      which is used in the output.
      870d7589
    • Elena Stepanova's avatar
      MDEV-11504 binlog_encryption.encrypted_master_switch_to_unencrypted fails sporadically in buildbot · 8e702bce
      Elena Stepanova authored
      The reason is a simple race condition. Initially the test was meant to synchronize with master
      before showing tables, but it turned out that the slave IO thread should fail by this point,
      and synchronization was removed along with a server bugfix. Now added an intermediate sync
      instead, to make sure that slave has replicated events before the point of failure
      8e702bce
  16. 07 Dec, 2016 2 commits