1. 16 Apr, 2019 6 commits
    • Marko Mäkelä's avatar
      MDEV-17494 Refuse ALGORITHM=INSTANT when the row size is too large · d9d79e4d
      Marko Mäkelä authored
      With the MDEV-15562 instant DROP COLUMN, clustered index records
      will contain traces of dropped columns, as follows:
      
      In ROW_FORMAT=REDUNDANT, dropped columns will be stored as 0 bytes,
      but they will consume 1 or 2 bytes per column in the record header.
      
      In ROW_FORMAT=COMPACT or ROW_FORMAT=DYNAMIC, dropped columns will
      be stored as NULL if allowed. This will consume 1 bit per nullable
      column.
      
      In ROW_FORMAT=COMPACT or ROW_FORMAT=DYNAMIC, dropped NOT NULL columns
      will be stored as 0 bytes if allowed. This will consume 1 byte per
      NOT NULL variable-length column. Fixed-length columns will be stored
      using the fixed number of bytes.
      
      The metadata record will be 20 bytes larger than user records, because
      it will contain a metadata BLOB pointer.
      
      We must refuse ALGORITHM=INSTANT (and require a table rebuild) if
      the metadata record would grow too big to fit in the index page.
      
      If SQL_MODE includes STRICT_TRANS_TABLES or STRICT_ALL_TABLES, we should
      refuse ALGORITHM=INSTANT if the maximum length of user records would
      exceed the maximum size of an index page, similar to what
      row_create_index_for_mysql() does during CREATE TABLE. This limit
      would kick in when the default values for any instantly added columns
      in the metadata record are NULL or short, but the allowed maximum values
      are long.
      
      instant_alter_column_possible(): Add the parameter "bool strict" to
      enable checks for the user record size, and always check the metadata
      record size.
      d9d79e4d
    • willhan's avatar
      fix bug for spider where using "not like" (#890) · f66e006b
      willhan authored
      test case:
      t1 is a spider engine table;
        CREATE TABLE `t1` (
        `id` int(11) NOT NULL DEFAULT '0',
        `name` char(64) DEFAULT NULL,
        PRIMARY KEY (`id`)
      ) ENGINE=SPIDER
      
      query: "select * from t1 where name  not like 'x%' " would dispatch "select xxx name name like 'x%' " to remote mysqld, is wrong
      f66e006b
    • Oleksandr Byelkin's avatar
      Cleanup of sql_derived.cc file · 8701e5b0
      Oleksandr Byelkin authored
      8701e5b0
    • Oleksandr Byelkin's avatar
      MDEV-17362: SIGSEGV in JOIN::optimize_inner or Assertion `fixed == 0' failed... · eb056f87
      Oleksandr Byelkin authored
      MDEV-17362: SIGSEGV in JOIN::optimize_inner or Assertion `fixed == 0' failed in  Item_equal::fix_fields, server crashes after 2nd execution of PS
      
      Move reinitialisation of pushdown variables for every query, because it used now not only for derived tables.
      eb056f87
    • Oleksandr Byelkin's avatar
      Cleanup of derived table interface · 6c306a72
      Oleksandr Byelkin authored
      6c306a72
    • Alexander Barkov's avatar
      MDEV-19256 sql_acl.cc does not compile with WITH_VALGRIND with gcc 8.0 · 3bc863b2
      Alexander Barkov authored
      Turning initializing code into constructors.
      3bc863b2
  2. 15 Apr, 2019 2 commits
  3. 13 Apr, 2019 1 commit
  4. 12 Apr, 2019 7 commits
    • Kentoku SHIBA's avatar
      MDEV-16543 Replicating to spider is fragile without retries (#1272) · 3e89e0f2
      Kentoku SHIBA authored
      add changes of test results
      3e89e0f2
    • Kentoku SHIBA's avatar
      MDEV-16530 Spider datanodes needs adjusted wait_timeout for long running... · 1e8279a9
      Kentoku SHIBA authored
      MDEV-16530 Spider datanodes needs adjusted wait_timeout for long running queries on spider head node (#1258)
      
      Add the following parameters.
      
      - spider_remote_wait_timeout
        Set remote wait_timeout at connecting for improvement performance of
        connection if you know.
        -1,0      : No set.
        1 or more : Seconds.
        The default value is -1
      
      - spider_wait_timeout
        The wait time to remote servers.
        -1,0      : No set.
        1 or more : Seconds.
        The default value is 604800
      1e8279a9
    • Kentoku SHIBA's avatar
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 78965036
      Marko Mäkelä authored
      78965036
    • Eugene Kosov's avatar
      MDEV-19236 Improve error message for ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COLUMN_TYPE · 4dc10ec6
      Eugene Kosov authored
      remove a sometimes misleading word INPLACE from error message
      4dc10ec6
    • Kentoku SHIBA's avatar
      MDEV-18993 The keep-alive connection (set spider_conn_recycle_mode = 1) in... · 1d48c4a0
      Kentoku SHIBA authored
      MDEV-18993 The keep-alive connection (set spider_conn_recycle_mode = 1) in spider would cause cash in MariaDB (#1269)
      
      Fix the following valgrind error.
      
      ==94390== Thread 29:
      ==94390== Invalid read of size 8
      ==94390== at 0x78389D: thd_increment_bytes_sent (sql_class.cc:4265)
      ==94390== by 0xC8EC46: net_real_write (net_serv.cc:730)
      ==94390== by 0xC8E0C8: net_flush (net_serv.cc:383)
      ==94390== by 0xC8E4D0: net_write_command (net_serv.cc:521)
      ==94390== by 0xADCE61: cli_advanced_command (client.c:468)
      ==94390== by 0xAE3CAF: mysql_close_slow_part (client.c:3671)
      ==94390== by 0xAE3D28: mysql_close (client.c:3683)
      ==94390== by 0x149E69A8: spider_db_mbase::disconnect() (spd_db_mysql.cc:2217)
      ==94390== by 0x1491EA26: spider_db_disconnect(st_spider_conn*) (spd_db_conn.cc:297)
      ==94390== by 0x14948EBE: spider_free_conn_alloc(st_spider_conn*) (spd_conn.cc:196)
      ==94390== by 0x1494B26A: spider_free_conn(st_spider_conn*) (spd_conn.cc:1251)
      ==94390== by 0x1494941F: spider_free_conn_from_trx(st_spider_transaction*, st_spider_conn*, bool, bool, int*) (spd_conn.cc:315)
      ==94390== Address 0x1f0e0990 is 4,832 bytes inside a block of size 25,728 free'd
      ==94390== at 0x4C2ACBD: free (vg_replace_malloc.c:530)
      ==94390== by 0x13F5545: my_free (my_malloc.c:222)
      ==94390== by 0x6C75B7: ilink::operator delete(void*, unsigned long) (sql_list.h:618)
      ==94390== by 0x77B9F6: THD::~THD() (sql_class.cc:1724)
      ==94390== by 0x1494FCE0: spider_bg_conn_action(void*) (spd_conn.cc:2580)
      ==94390== by 0x4E3DDD4: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==94390== by 0x5FBFEAC: clone (in /usr/lib64/libc-2.17.so)
      ==94390== Block was alloc'd at
      ==94390== at 0x4C29BC3: malloc (vg_replace_malloc.c:299)
      ==94390== by 0x13F4DFA: my_malloc (my_malloc.c:101)
      ==94390== by 0x1491CF06: ilink::operator new(unsigned long) (sql_list.h:614)
      ==94390== by 0x1494F7FD: spider_bg_conn_action(void*) (spd_conn.cc:2501)
      ==94390== by 0x4E3DDD4: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==94390== by 0x5FBFEAC: clone (in /usr/lib64/libc-2.17.so)
      ==94390== Invalid write of size 8
      ==94390== at 0x7838AF: thd_increment_bytes_sent (sql_class.cc:4265)
      ==94390== by 0xC8EC46: net_real_write (net_serv.cc:730)
      ==94390== by 0xC8E0C8: net_flush (net_serv.cc:383)
      ==94390== by 0xC8E4D0: net_write_command (net_serv.cc:521)
      ==94390== by 0xADCE61: cli_advanced_command (client.c:468)
      ==94390== by 0xAE3CAF: mysql_close_slow_part (client.c:3671)
      ==94390== by 0xAE3D28: mysql_close (client.c:3683)
      ==94390== by 0x149E69A8: spider_db_mbase::disconnect() (spd_db_mysql.cc:2217)
      ==94390== by 0x1491EA26: spider_db_disconnect(st_spider_conn*) (spd_db_conn.cc:297)
      ==94390== by 0x14948EBE: spider_free_conn_alloc(st_spider_conn*) (spd_conn.cc:196)
      ==94390== by 0x1494B26A: spider_free_conn(st_spider_conn*) (spd_conn.cc:1251)
      ==94390== by 0x1494941F: spider_free_conn_from_trx(st_spider_transaction*, st_spider_conn*, bool, bool, int*) (spd_conn.cc:315)
      ==94390== Address 0x1f0e0990 is 4,832 bytes inside a block of size 25,728 free'd
      ==94390== at 0x4C2ACBD: free (vg_replace_malloc.c:530)
      ==94390== by 0x13F5545: my_free (my_malloc.c:222)
      ==94390== by 0x6C75B7: ilink::operator delete(void*, unsigned long) (sql_list.h:618)
      ==94390== by 0x77B9F6: THD::~THD() (sql_class.cc:1724)
      ==94390== by 0x1494FCE0: spider_bg_conn_action(void*) (spd_conn.cc:2580)
      ==94390== by 0x4E3DDD4: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==94390== by 0x5FBFEAC: clone (in /usr/lib64/libc-2.17.so)
      ==94390== Block was alloc'd at
      ==94390== at 0x4C29BC3: malloc (vg_replace_malloc.c:299)
      ==94390== by 0x13F4DFA: my_malloc (my_malloc.c:101)
      ==94390== by 0x1491CF06: ilink::operator new(unsigned long) (sql_list.h:614)
      ==94390== by 0x1494F7FD: spider_bg_conn_action(void*) (spd_conn.cc:2501)
      ==94390== by 0x4E3DDD4: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==94390== by 0x5FBFEAC: clone (in /usr/lib64/libc-2.17.so)
      1d48c4a0
    • Jan Lindström's avatar
      a05f4235
  5. 10 Apr, 2019 2 commits
  6. 09 Apr, 2019 1 commit
  7. 08 Apr, 2019 14 commits
  8. 07 Apr, 2019 7 commits