Skip to content

Commit

Permalink
MDEV-24424 Unnecessary usage of to_float() for INSERT into the Spider…
Browse files Browse the repository at this point in the history
… table with float column

Change default wrapper from mysql to mariadb.
  • Loading branch information
Kentoku committed Dec 21, 2020
1 parent 10bec91 commit 2f6970e
Show file tree
Hide file tree
Showing 6 changed files with 131 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
--let $MASTER_1_COMMENT_2_1= $MASTER_1_COMMENT_2_1_BACKUP
--let $CHILD2_1_DROP_TABLES= $CHILD2_1_DROP_TABLES_BACKUP
--let $CHILD2_1_CREATE_TABLES= $CHILD2_1_CREATE_TABLES_BACKUP
--source delete_with_float_column_deinit.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
--source delete_with_float_column_init.inc
--let $MASTER_1_COMMENT_2_1_BACKUP= $MASTER_1_COMMENT_2_1
if ($VERSION_COMPILE_OS_WIN)
{
let $MASTER_1_COMMENT_2_1=
COMMENT='table "tbl_a",
host "localhost",
database "auto_test_remote",
user "root",
password "",
port "$CHILD2_1_MYPORT"';
}
if (!$VERSION_COMPILE_OS_WIN)
{
let $MASTER_1_COMMENT_2_1=
COMMENT='table "tbl_a",
host "localhost",
database "auto_test_remote",
user "root",
password "",
socket "$CHILD2_1_MYSOCK"';
}
--let $CHILD2_1_DROP_TABLES_BACKUP= $CHILD2_1_DROP_TABLES
let $CHILD2_1_DROP_TABLES=
DROP TABLE IF EXISTS tbl_a;
--let $CHILD2_1_CREATE_TABLES_BACKUP= $CHILD2_1_CREATE_TABLES
let $CHILD2_1_CREATE_TABLES=
CREATE TABLE tbl_a (
pkey int NOT NULL,
f float DEFAULT NULL,
PRIMARY KEY (pkey)
) $CHILD2_1_ENGINE $CHILD2_1_CHARSET;
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
for master_1
for child2
child2_1
child2_2
child2_3
for child3
for slave1_1
connection slave1_1;
connection master_1;
set @old_binlog_format= @@binlog_format;
set session binlog_format= 'ROW';

drop and create databases
connection master_1;
CREATE DATABASE auto_test_local;
USE auto_test_local;
connection slave1_1;
CREATE DATABASE auto_test_local;
USE auto_test_local;
connection child2_1;
SET @old_log_output = @@global.log_output;
SET GLOBAL log_output = 'TABLE,FILE';
CREATE DATABASE auto_test_remote;
USE auto_test_remote;

create table and insert
connection child2_1;
CHILD2_1_CREATE_TABLES
TRUNCATE TABLE mysql.general_log;
connection master_1;
connection slave1_1;
connection master_1;
SET SESSION sql_log_bin= 0;
CREATE TABLE tbl_a (
pkey int NOT NULL,
f float DEFAULT NULL,
PRIMARY KEY (pkey)
) MASTER_1_ENGINE2 MASTER_1_CHARSET MASTER_1_COMMENT_2_1
SET SESSION sql_log_bin= 1;
connection slave1_1;
CREATE TABLE tbl_a (
pkey int NOT NULL,
f float DEFAULT NULL,
PRIMARY KEY (pkey)
) MASTER_1_ENGINE MASTER_1_CHARSET MASTER_1_COMMENT_2_1
connection master_1;
INSERT INTO tbl_a (pkey, f) VALUES (0,NULL);
INSERT INTO tbl_a (pkey, f) VALUES (1,0.671437);
DELETE FROM tbl_a WHERE pkey = 0;
DELETE FROM tbl_a WHERE pkey = 1;
connection slave1_1;
connection master_1;
SET SESSION sql_log_bin= 0;
connection child2_1;
SELECT argument FROM mysql.general_log WHERE argument LIKE '%delete %';
argument
delete from `auto_test_remote`.`tbl_a` where `pkey` = 0 and `f` is null limit 1
delete from `auto_test_remote`.`tbl_a` where `pkey` = 1 and `f` = cast(0.671437 as float) limit 1
SELECT argument FROM mysql.general_log WHERE argument LIKE '%delete %'
SELECT pkey, f FROM tbl_a ORDER BY pkey;
pkey f
connection slave1_1;
SELECT pkey, f FROM tbl_a ORDER BY pkey;
pkey f

deinit
connection master_1;
DROP DATABASE IF EXISTS auto_test_local;
connection slave1_1;
DROP DATABASE IF EXISTS auto_test_local;
connection child2_1;
DROP DATABASE IF EXISTS auto_test_remote;
SET GLOBAL log_output = @old_log_output;
connection master_1;
set session binlog_format= @old_binlog_format;
connection slave1_1;
for slave1_1
for master_1
for child2
child2_1
child2_2
child2_3
for child3

end of test
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
!include include/default_mysqld.cnf
!include ../my_1_1.cnf
!include ../my_2_1.cnf
!include ../my_4_1.cnf
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
--source ../include/delete_with_float_column_default_init.inc
--source delete_with_float_column.inc
--source ../include/delete_with_float_column_default_deinit.inc
--echo
--echo end of test
2 changes: 1 addition & 1 deletion storage/spider/spd_db_conn.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */

#define SPIDER_DB_WRAPPER_STR "mysql"
#define SPIDER_DB_WRAPPER_STR "mariadb"
#define SPIDER_DB_WRAPPER_LEN (sizeof(SPIDER_DB_WRAPPER_STR) - 1)
#define SPIDER_DB_PK_NAME_STR "PRIMARY"
#define SPIDER_DB_PK_NAME_LEN (sizeof(SPIDER_DB_PK_NAME_STR) - 1)
Expand Down

0 comments on commit 2f6970e

Please sign in to comment.