2020-06-06 00:37:05 +02:00
|
|
|
/* Copyright (C) 2008-2020 Kentoku Shiba
|
|
|
|
Copyright (C) 2017-2020 MariaDB corp
|
2017-09-09 15:20:55 +02:00
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation; version 2 of the License.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
|
|
|
|
|
|
|
/*
|
2017-11-16 10:11:52 +01:00
|
|
|
Define functionality offered by MySQL or MariaDB
|
2017-09-09 15:20:55 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef SPD_ENVIRON_INCLUDED
|
|
|
|
|
|
|
|
#if (defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100000)
|
|
|
|
#define SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS
|
|
|
|
#endif
|
|
|
|
|
2020-08-24 03:29:23 +02:00
|
|
|
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100100
|
2017-11-27 20:53:02 +01:00
|
|
|
#define SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE
|
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)
2019-04-12 10:00:04 +02:00
|
|
|
#define SPIDER_NET_HAS_THD
|
2017-11-27 20:53:02 +01:00
|
|
|
#endif
|
|
|
|
|
2020-08-24 03:29:23 +02:00
|
|
|
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100211
|
2017-09-09 15:20:55 +02:00
|
|
|
#define HANDLER_HAS_TOP_TABLE_FIELDS
|
2017-11-16 10:11:52 +01:00
|
|
|
#define HANDLER_HAS_DIRECT_UPDATE_ROWS
|
2017-09-09 15:20:55 +02:00
|
|
|
#define HANDLER_HAS_DIRECT_AGGREGATE
|
|
|
|
#define PARTITION_HAS_GET_CHILD_HANDLERS
|
2017-11-28 22:42:51 +01:00
|
|
|
#define PARTITION_HAS_GET_PART_SPEC
|
2017-09-09 15:20:55 +02:00
|
|
|
#define HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN
|
2017-09-27 21:48:05 +02:00
|
|
|
#define HANDLER_HAS_NEED_INFO_FOR_AUTO_INC
|
|
|
|
#define HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT
|
2017-09-09 15:20:55 +02:00
|
|
|
#endif
|
2018-11-19 16:21:36 +01:00
|
|
|
|
2020-08-24 03:29:23 +02:00
|
|
|
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100300
|
2018-11-19 16:21:36 +01:00
|
|
|
#define SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA
|
|
|
|
#endif
|
|
|
|
|
2020-08-24 03:29:23 +02:00
|
|
|
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100309
|
2018-11-19 16:21:36 +01:00
|
|
|
#define SPIDER_MDEV_16246
|
|
|
|
#endif
|
|
|
|
|
2020-08-24 03:29:23 +02:00
|
|
|
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100400
|
2018-11-19 16:21:36 +01:00
|
|
|
#define SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM
|
|
|
|
#define SPIDER_SQL_CACHE_IS_IN_LEX
|
2019-04-16 18:55:03 +02:00
|
|
|
#define SPIDER_LIKE_FUNC_HAS_GET_NEGATED
|
2019-06-10 17:25:08 +02:00
|
|
|
#define HA_HAS_CHECKSUM_EXTENDED
|
2018-11-19 16:21:36 +01:00
|
|
|
#endif
|
2020-06-06 00:37:05 +02:00
|
|
|
|
2020-08-24 03:29:23 +02:00
|
|
|
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100500
|
2020-06-06 00:37:05 +02:00
|
|
|
#define SPIDER_I_S_USE_SHOW_FOR_COLUMN
|
|
|
|
#endif
|
2017-09-09 15:20:55 +02:00
|
|
|
#endif /* SPD_ENVIRON_INCLUDED */
|