Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
6b2b1b8e
Commit
6b2b1b8e
authored
Nov 16, 2004
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
0dec6c9b
fb8b9ca6
Changes
45
Hide whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
426 additions
and
174 deletions
+426
-174
Makefile.am
Makefile.am
+4
-4
acinclude.m4
acinclude.m4
+3
-0
client/Makefile.am
client/Makefile.am
+2
-1
client/client_priv.h
client/client_priv.h
+3
-0
client/mysqladmin.c
client/mysqladmin.c
+46
-1
client/mysqldump.c
client/mysqldump.c
+18
-4
configure.in
configure.in
+1
-1
include/my_global.h
include/my_global.h
+2
-2
mysql-test/r/ctype_tis620.result
mysql-test/r/ctype_tis620.result
+38
-0
mysql-test/r/rpl_rewrite_db.result
mysql-test/r/rpl_rewrite_db.result
+70
-0
mysql-test/t/ctype_tis620.test
mysql-test/t/ctype_tis620.test
+35
-0
mysql-test/t/rpl_rewrite_db-slave.opt
mysql-test/t/rpl_rewrite_db-slave.opt
+1
-1
mysql-test/t/rpl_rewrite_db.test
mysql-test/t/rpl_rewrite_db.test
+58
-0
ndb/config/type_ndbapitools.mk.am
ndb/config/type_ndbapitools.mk.am
+2
-1
ndb/include/mgmapi/LocalConfig.hpp
ndb/include/mgmapi/LocalConfig.hpp
+0
-0
ndb/include/portlib/NdbConfig.h
ndb/include/portlib/NdbConfig.h
+0
-0
ndb/src/Makefile.am
ndb/src/Makefile.am
+1
-1
ndb/src/common/mgmcommon/Makefile.am
ndb/src/common/mgmcommon/Makefile.am
+1
-2
ndb/src/common/portlib/Makefile.am
ndb/src/common/portlib/Makefile.am
+2
-1
ndb/src/common/portlib/NdbConfig.c
ndb/src/common/portlib/NdbConfig.c
+0
-0
ndb/src/common/transporter/TransporterRegistry.cpp
ndb/src/common/transporter/TransporterRegistry.cpp
+7
-5
ndb/src/kernel/blocks/backup/Makefile.am
ndb/src/kernel/blocks/backup/Makefile.am
+0
-2
ndb/src/kernel/blocks/backup/restore/Makefile.am
ndb/src/kernel/blocks/backup/restore/Makefile.am
+0
-30
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp
+12
-2
ndb/src/mgmapi/LocalConfig.cpp
ndb/src/mgmapi/LocalConfig.cpp
+18
-10
ndb/src/mgmapi/Makefile.am
ndb/src/mgmapi/Makefile.am
+4
-3
ndb/src/mgmapi/mgmapi.cpp
ndb/src/mgmapi/mgmapi.cpp
+36
-48
ndb/src/mgmclient/CommandInterpreter.cpp
ndb/src/mgmclient/CommandInterpreter.cpp
+5
-3
ndb/src/mgmclient/Makefile.am
ndb/src/mgmclient/Makefile.am
+9
-2
ndb/src/mgmclient/main.cpp
ndb/src/mgmclient/main.cpp
+9
-21
ndb/tools/Makefile.am
ndb/tools/Makefile.am
+14
-3
ndb/tools/restore/Restore.cpp
ndb/tools/restore/Restore.cpp
+0
-4
ndb/tools/restore/Restore.hpp
ndb/tools/restore/Restore.hpp
+2
-1
ndb/tools/restore/consumer.cpp
ndb/tools/restore/consumer.cpp
+0
-0
ndb/tools/restore/consumer.hpp
ndb/tools/restore/consumer.hpp
+0
-0
ndb/tools/restore/consumer_printer.cpp
ndb/tools/restore/consumer_printer.cpp
+0
-0
ndb/tools/restore/consumer_printer.hpp
ndb/tools/restore/consumer_printer.hpp
+0
-0
ndb/tools/restore/consumer_restore.cpp
ndb/tools/restore/consumer_restore.cpp
+0
-1
ndb/tools/restore/consumer_restore.hpp
ndb/tools/restore/consumer_restore.hpp
+0
-0
ndb/tools/restore/consumer_restorem.cpp
ndb/tools/restore/consumer_restorem.cpp
+0
-0
ndb/tools/restore/main.cpp
ndb/tools/restore/main.cpp
+0
-0
ndb/tools/waiter.cpp
ndb/tools/waiter.cpp
+3
-2
sql/log_event.cc
sql/log_event.cc
+16
-10
sql/log_event.h
sql/log_event.h
+1
-1
strings/ctype-tis620.c
strings/ctype-tis620.c
+3
-7
No files found.
Makefile.am
View file @
6b2b1b8e
...
...
@@ -22,15 +22,15 @@ AUTOMAKE_OPTIONS = foreign
EXTRA_DIST
=
INSTALL-SOURCE README COPYING EXCEPTIONS-CLIENT
SUBDIRS
=
.
include @docs_dirs@ @zlib_dir@
\
@readline_topdir@ sql-common
\
@thread_dirs@ pstack
@sql_client_dirs@
\
@sql_server_dirs@ scripts man tests
\
@thread_dirs@ pstack
\
@sql_server_dirs@
@sql_client_dirs@
scripts man tests
\
netware @libmysqld_dirs@
\
@bench_dirs@ support-files @fs_dirs@ @tools_dirs@
DIST_SUBDIRS
=
.
include @docs_dirs@ zlib
\
@readline_topdir@ sql-common
\
@thread_dirs@ pstack
@sql_client_dirs@
\
@sql_server_dirs@ scripts @man_dirs@ tests SSL
\
@thread_dirs@ pstack
\
@sql_server_dirs@
@sql_client_dirs@
scripts @man_dirs@ tests SSL
\
BUILD netware os2 @libmysqld_dirs@
\
@bench_dirs@ support-files @fs_dirs@ @tools_dirs@
...
...
acinclude.m4
View file @
6b2b1b8e
...
...
@@ -1678,6 +1678,7 @@ AC_DEFUN([MYSQL_CHECK_NDBCLUSTER], [
have_ndbcluster=no
ndbcluster_includes=
ndbcluster_libs=
ndb_mgmclient_libs=
case "$ndbcluster" in
yes )
AC_MSG_RESULT([Using NDB Cluster])
...
...
@@ -1686,6 +1687,7 @@ AC_DEFUN([MYSQL_CHECK_NDBCLUSTER], [
ndbcluster_includes="-I../ndb/include -I../ndb/include/ndbapi"
ndbcluster_libs="\$(top_builddir)/ndb/src/.libs/libndbclient.a"
ndbcluster_system_libs=""
ndb_mgmclient_libs="\$(top_builddir)/ndb/src/mgmclient/libndbmgmclient.la"
MYSQL_CHECK_NDB_OPTIONS
;;
* )
...
...
@@ -1697,6 +1699,7 @@ AC_DEFUN([MYSQL_CHECK_NDBCLUSTER], [
AC_SUBST(ndbcluster_includes)
AC_SUBST(ndbcluster_libs)
AC_SUBST(ndbcluster_system_libs)
AC_SUBST(ndb_mgmclient_libs)
])
dnl ---------------------------------------------------------------------------
...
...
client/Makefile.am
View file @
6b2b1b8e
...
...
@@ -20,7 +20,8 @@
INCLUDES
=
-I
$(top_srcdir)
/include
-I
$(top_srcdir)
/regex
\
$(openssl_includes)
LIBS
=
@CLIENT_LIBS@
DEPLIB
=
../libmysql/libmysqlclient.la
DEPLIB
=
../libmysql/libmysqlclient.la
\
@ndb_mgmclient_libs@
LDADD
=
@CLIENT_EXTRA_LDFLAGS@
$(DEPLIB)
bin_PROGRAMS
=
mysql mysqladmin mysqlcheck mysqlshow
\
mysqldump mysqlimport mysqltest mysqlbinlog mysqlmanagerc mysqlmanager-pwgen
...
...
client/client_priv.h
View file @
6b2b1b8e
...
...
@@ -46,4 +46,7 @@ enum options_client
OPT_OPEN_FILES_LIMIT
,
OPT_SET_CHARSET
,
OPT_CREATE_OPTIONS
,
OPT_START_POSITION
,
OPT_STOP_POSITION
,
OPT_START_DATETIME
,
OPT_STOP_DATETIME
,
OPT_SIGINT_IGNORE
,
OPT_HEXBLOB
#ifdef HAVE_NDBCLUSTER_DB
,
OPT_NDBCLUSTER
,
OPT_NDB_CONNECTSTRING
#endif
};
client/mysqladmin.c
View file @
6b2b1b8e
...
...
@@ -16,7 +16,6 @@
/* maintaince of mysql databases */
#include "client_priv.h"
#include <signal.h>
#ifdef THREAD
...
...
@@ -25,6 +24,10 @@
#include <sys/stat.h>
#include <mysql.h>
#ifdef HAVE_NDBCLUSTER_DB
#include "../ndb/src/mgmclient/ndb_mgmclient.h"
#endif
#define ADMIN_VERSION "8.41"
#define MAX_MYSQL_VAR 256
#define SHUTDOWN_DEF_TIMEOUT 3600
/* Wait for shutdown */
...
...
@@ -42,6 +45,10 @@ static uint tcp_port = 0, option_wait = 0, option_silent=0, nr_iterations,
opt_count_iterations
=
0
;
static
ulong
opt_connect_timeout
,
opt_shutdown_timeout
;
static
my_string
unix_port
=
0
;
#ifdef HAVE_NDBCLUSTER_DB
static
my_bool
opt_ndbcluster
=
0
;
static
char
*
opt_ndb_connectstring
=
0
;
#endif
#ifdef HAVE_SMEM
static
char
*
shared_memory_base_name
=
0
;
...
...
@@ -94,6 +101,9 @@ enum commands {
ADMIN_PING
,
ADMIN_EXTENDED_STATUS
,
ADMIN_FLUSH_STATUS
,
ADMIN_FLUSH_PRIVILEGES
,
ADMIN_START_SLAVE
,
ADMIN_STOP_SLAVE
,
ADMIN_FLUSH_THREADS
,
ADMIN_OLD_PASSWORD
#ifdef HAVE_NDBCLUSTER_DB
,
ADMIN_NDB_MGM
#endif
};
static
const
char
*
command_names
[]
=
{
"create"
,
"drop"
,
"shutdown"
,
...
...
@@ -104,6 +114,9 @@ static const char *command_names[]= {
"ping"
,
"extended-status"
,
"flush-status"
,
"flush-privileges"
,
"start-slave"
,
"stop-slave"
,
"flush-threads"
,
"old-password"
,
#ifdef HAVE_NDBCLUSTER_DB
"ndb-mgm"
,
#endif
NullS
};
...
...
@@ -184,6 +197,14 @@ static struct my_option my_long_options[] =
{
"shutdown_timeout"
,
OPT_SHUTDOWN_TIMEOUT
,
""
,
(
gptr
*
)
&
opt_shutdown_timeout
,
(
gptr
*
)
&
opt_shutdown_timeout
,
0
,
GET_ULONG
,
REQUIRED_ARG
,
SHUTDOWN_DEF_TIMEOUT
,
0
,
3600
*
12
,
0
,
1
,
0
},
#ifdef HAVE_NDBCLUSTER_DB
{
"ndbcluster"
,
OPT_NDBCLUSTER
,
""
""
,
(
gptr
*
)
&
opt_ndbcluster
,
(
gptr
*
)
&
opt_ndbcluster
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"ndb-connectstring"
,
OPT_NDB_CONNECTSTRING
,
""
""
,
(
gptr
*
)
&
opt_ndb_connectstring
,
(
gptr
*
)
&
opt_ndb_connectstring
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#endif
{
0
,
0
,
0
,
0
,
0
,
0
,
GET_NO_ARG
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
}
};
...
...
@@ -882,6 +903,24 @@ static int execute_commands(MYSQL *mysql,int argc, char **argv)
}
mysql
->
reconnect
=
1
;
/* Automatic reconnect is default */
break
;
#ifdef HAVE_NDBCLUSTER_DB
case
ADMIN_NDB_MGM
:
{
if
(
argc
<
2
)
{
my_printf_error
(
0
,
"Too few arguments to ndb-mgm"
,
MYF
(
ME_BELL
));
return
1
;
}
{
Ndb_mgmclient_handle
cmd
=
ndb_mgmclient_handle_create
(
opt_ndb_connectstring
);
ndb_mgmclient_execute
(
cmd
,
--
argc
,
++
argv
);
ndb_mgmclient_handle_destroy
(
cmd
);
}
argc
=
0
;
}
break
;
#endif
default:
my_printf_error
(
0
,
"Unknown command: '%-.60s'"
,
MYF
(
ME_BELL
),
argv
[
0
]);
return
1
;
...
...
@@ -1248,3 +1287,9 @@ static my_bool wait_pidfile(char *pidfile, time_t last_modified,
}
DBUG_RETURN
(
error
);
}
#ifdef HAVE_NDBCLUSTER_DB
/* lib linked in contains c++ code */
#ifdef __GNUC__
FIX_GCC_LINKING_PROBLEM
#endif
#endif
client/mysqldump.c
View file @
6b2b1b8e
...
...
@@ -254,7 +254,7 @@ static struct my_option my_long_options[] =
"any action on logs will happen at the exact moment of the dump."
"Option automatically turns --lock-tables off."
,
(
gptr
*
)
&
opt_master_data
,
(
gptr
*
)
&
opt_master_data
,
0
,
GET_UINT
,
REQUIRED
_ARG
,
0
,
0
,
MYSQL_OPT_MASTER_DATA_COMMENTED_SQL
,
0
,
0
,
0
},
GET_UINT
,
OPT
_ARG
,
0
,
0
,
MYSQL_OPT_MASTER_DATA_COMMENTED_SQL
,
0
,
0
,
0
},
{
"max_allowed_packet"
,
OPT_MAX_ALLOWED_PACKET
,
""
,
(
gptr
*
)
&
opt_max_allowed_packet
,
(
gptr
*
)
&
opt_max_allowed_packet
,
0
,
GET_ULONG
,
REQUIRED_ARG
,
24
*
1024
*
1024
,
4096
,
...
...
@@ -548,6 +548,10 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
case
'?'
:
usage
();
exit
(
0
);
case
(
int
)
OPT_MASTER_DATA
:
if
(
!
argument
)
/* work like in old versions */
opt_master_data
=
MYSQL_OPT_MASTER_DATA_EFFECTIVE_SQL
;
break
;
case
(
int
)
OPT_OPTIMIZE
:
extended_insert
=
opt_drop
=
opt_lock
=
quick
=
create_options
=
opt_disable_keys
=
lock_tables
=
opt_set_charset
=
1
;
...
...
@@ -1680,7 +1684,7 @@ static void dumpTable(uint numFields, char *table)
else
if
(
opt_hex_blob
&&
is_blob
)
{
/* sakaik got the idea to to provide blob's in hex notation. */
unsigned
char
*
ptr
=
row
[
i
],
*
end
=
ptr
+
lengths
[
i
];
char
*
ptr
=
row
[
i
],
*
end
=
ptr
+
lengths
[
i
];
fputs
(
"0x"
,
md_result_file
);
for
(;
ptr
<
end
;
ptr
++
)
fprintf
(
md_result_file
,
"%02X"
,
*
ptr
);
...
...
@@ -2046,8 +2050,18 @@ static int do_show_master_status(MYSQL *mysql_con)
static
int
do_flush_tables_read_lock
(
MYSQL
*
mysql_con
)
{
/*
We do first a FLUSH TABLES. If a long update is running, the FLUSH TABLES
will wait but will not stall the whole mysqld, and when the long update is
done the FLUSH TABLES WITH READ LOCK will start and succeed quickly. So,
FLUSH TABLES is to lower the probability of a stage where both mysqldump
and most client connections are stalled. Of course, if a second long
update starts between the two FLUSHes, we have that bad stall.
*/
return
mysql_query_with_error_report
(
mysql_con
,
0
,
"FLUSH TABLES WITH READ LOCK"
);
(
mysql_query_with_error_report
(
mysql_con
,
0
,
"FLUSH TABLES"
)
||
mysql_query_with_error_report
(
mysql_con
,
0
,
"FLUSH TABLES WITH READ LOCK"
)
);
}
...
...
@@ -2232,7 +2246,7 @@ int main(int argc, char **argv)
}
if
(
opt_master_data
&&
do_show_master_status
(
sock
))
goto
err
;
if
(
opt_single_transaction
&&
do_unlock_tables
(
sock
))
/
/ unlock but no commit!
if
(
opt_single_transaction
&&
do_unlock_tables
(
sock
))
/
* unlock but no commit! */
goto
err
;
if
(
opt_alldbs
)
...
...
configure.in
View file @
6b2b1b8e
...
...
@@ -399,6 +399,7 @@ then
then
if
$CXX
-v
2>&1 |
grep
'version 3'
>
/dev/null 2>&1
then
CFLAGS
=
"
$CFLAGS
-DDEFINE_CXA_PURE_VIRTUAL"
CXXFLAGS
=
"
$CXXFLAGS
-DUSE_MYSYS_NEW -DDEFINE_CXA_PURE_VIRTUAL"
fi
fi
...
...
@@ -3114,7 +3115,6 @@ AC_CONFIG_FILES(ndb/Makefile ndb/include/Makefile dnl
ndb/src/kernel/blocks/qmgr/Makefile dnl
ndb/src/kernel/blocks/trix/Makefile dnl
ndb/src/kernel/blocks/backup/Makefile dnl
ndb/src/kernel/blocks/backup/restore/Makefile dnl
ndb/src/kernel/blocks/dbutil/Makefile dnl
ndb/src/kernel/blocks/suma/Makefile dnl
ndb/src/kernel/blocks/grep/Makefile dnl
...
...
include/my_global.h
View file @
6b2b1b8e
...
...
@@ -194,10 +194,10 @@ C_MODE_END
/* Fix problem when linking c++ programs with gcc 3.x */
#ifdef DEFINE_CXA_PURE_VIRTUAL
#define FIX_GCC_LINKING_PROBLEM \
extern "C" {
int __cxa_pure_virtual() {\
C_MODE_START
int __cxa_pure_virtual() {\
DBUG_ASSERT("Pure virtual method called." == "Aborted");\
return 0;\
}
}
}
C_MODE_END
#else
#define FIX_GCC_LINKING_PROBLEM
#endif
...
...
mysql-test/r/ctype_tis620.result
View file @
6b2b1b8e
...
...
@@ -2899,3 +2899,41 @@ hex(a) STRCMP(a,'a') STRCMP(a,'a ')
6109 -1 -1
61 0 0
DROP TABLE t1;
CREATE TABLE t1 (
`id` int(11) NOT NULL auto_increment,
`url` varchar(200) NOT NULL default '',
`name` varchar(250) NOT NULL default '',
`type` int(11) NOT NULL default '0',
`website` varchar(250) NOT NULL default '',
`adddate` date NOT NULL default '0000-00-00',
`size` varchar(20) NOT NULL default '',
`movieid` int(11) NOT NULL default '0',
`musicid` int(11) NOT NULL default '0',
`star` varchar(20) NOT NULL default '',
`download` int(11) NOT NULL default '0',
`lastweek` int(11) NOT NULL default '0',
`thisweek` int(11) NOT NULL default '0',
`page` varchar(250) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `url` (`url`)
) CHARACTER SET tis620;
INSERT INTO t1 VALUES
(1,'http://www.siamzone.com/download/download/000001-frodo_1024.jpg','The Lord
of the Rings
Wallpapers',1,'http://www.lordoftherings.net','2002-01-22','',448,0,'',3805,0,0,
'');
INSERT INTO t1 VALUES (2,'http://www.othemovie.com/OScreenSaver1.EXE','O
Screensaver',2,'','2002-01-22','',491,0,'',519,0,0,'');
INSERT INTO t1 VALUES
(3,'http://www.siamzone.com/download/download/000003-jasonx2(800x600).jpg','Jaso
n X Wallpapers',1,'','2002-05-31','',579,0,'',1091,0,0,'');
select * from t1 order by id;
id url name type website adddate size movieid musicid star download lastweek thisweek page
1 http://www.siamzone.com/download/download/000001-frodo_1024.jpg The Lord
of the Rings
Wallpapers 1 http://www.lordoftherings.net 2002-01-22 448 0 3805 0 0
2 http://www.othemovie.com/OScreenSaver1.EXE O
Screensaver 2 2002-01-22 491 0 519 0 0
3 http://www.siamzone.com/download/download/000003-jasonx2(800x600).jpg Jaso
n X Wallpapers 1 2002-05-31 579 0 1091 0 0
DROP TABLE t1;
mysql-test/r/rpl_rewrite_db.result
View file @
6b2b1b8e
...
...
@@ -20,3 +20,73 @@ a
9
drop table t1;
drop database mysqltest1;
drop database if exists rewrite;
create database rewrite;
use test;
create table t1 (a date, b date, c date not null, d date);
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',';
Warnings:
Warning 1265 Data truncated for column 'a' at row 1
Warning 1265 Data truncated for column 'c' at row 1
Warning 1265 Data truncated for column 'd' at row 1
Warning 1265 Data truncated for column 'a' at row 2
Warning 1265 Data truncated for column 'b' at row 2
Warning 1265 Data truncated for column 'd' at row 2
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' IGNORE 2 LINES;
select * from rewrite.t1;
a b c d
0000-00-00 NULL 0000-00-00 0000-00-00
0000-00-00 0000-00-00 0000-00-00 0000-00-00
2003-03-03 2003-03-03 2003-03-03 NULL
2003-03-03 2003-03-03 2003-03-03 NULL
truncate table t1;
load data infile '../../std_data/loaddata1.dat' into table t1 fields terminated by ',' LINES STARTING BY ',' (b,c,d);
Warnings:
Warning 1265 Data truncated for column 'c' at row 1
Warning 1265 Data truncated for column 'd' at row 1
Warning 1265 Data truncated for column 'b' at row 2
Warning 1265 Data truncated for column 'd' at row 2
select * from rewrite.t1;
a b c d
NULL NULL 0000-00-00 0000-00-00
NULL 0000-00-00 0000-00-00 0000-00-00
NULL 2003-03-03 2003-03-03 NULL
drop table t1;
create table t1 (a text, b text);
load data infile '../../std_data/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
Warnings:
Warning 1261 Row 3 doesn't contain data for all columns
select concat('|',a,'|'), concat('|',b,'|') from rewrite.t1;
concat('|',a,'|') concat('|',b,'|')
|Field A| |Field B|
|Field 1| |Field 2'
Field 3,'Field 4|
|Field 5' ,'Field 6| NULL
|Field 6| | 'Field 7'|
drop table t1;
create table t1 (a int, b char(10));
load data infile '../../std_data/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
Warnings:
Warning 1265 Data truncated for column 'a' at row 3
Warning 1262 Row 3 was truncated; it contained more data than there were input columns
Warning 1265 Data truncated for column 'a' at row 5
Warning 1262 Row 5 was truncated; it contained more data than there were input columns
select * from rewrite.t1;
a b
1 row 1
2 row 2
0 1234567890
3 row 3
0 1234567890
truncate table t1;
load data infile '../../std_data/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
Warnings:
Warning 1265 Data truncated for column 'a' at row 4
Warning 1261 Row 4 doesn't contain data for all columns
select * from rewrite.t1;
a b
1 row 1
2 row 2
3 row 3
0
drop table t1;
mysql-test/t/ctype_tis620.test
View file @
6b2b1b8e
...
...
@@ -116,3 +116,38 @@ CREATE TABLE t1 (a char(10) not null) CHARACTER SET tis620;
INSERT
INTO
t1
VALUES
(
'a'
),(
'a\0'
),(
'a\t'
),(
'a '
);
SELECT
hex
(
a
),
STRCMP
(
a
,
'a'
),
STRCMP
(
a
,
'a '
)
FROM
t1
;
DROP
TABLE
t1
;
#
# Bug#6608
#
CREATE
TABLE
t1
(
`id`
int
(
11
)
NOT
NULL
auto_increment
,
`url`
varchar
(
200
)
NOT
NULL
default
''
,
`name`
varchar
(
250
)
NOT
NULL
default
''
,
`type`
int
(
11
)
NOT
NULL
default
'0'
,
`website`
varchar
(
250
)
NOT
NULL
default
''
,
`adddate`
date
NOT
NULL
default
'0000-00-00'
,
`size`
varchar
(
20
)
NOT
NULL
default
''
,
`movieid`
int
(
11
)
NOT
NULL
default
'0'
,
`musicid`
int
(
11
)
NOT
NULL
default
'0'
,
`star`
varchar
(
20
)
NOT
NULL
default
''
,
`download`
int
(
11
)
NOT
NULL
default
'0'
,
`lastweek`
int
(
11
)
NOT
NULL
default
'0'
,
`thisweek`
int
(
11
)
NOT
NULL
default
'0'
,
`page`
varchar
(
250
)
NOT
NULL
default
''
,
PRIMARY
KEY
(
`id`
),
UNIQUE
KEY
`url`
(
`url`
)
)
CHARACTER
SET
tis620
;
INSERT
INTO
t1
VALUES
(
1
,
'http://www.siamzone.com/download/download/000001-frodo_1024.jpg'
,
'The Lord
of the Rings
Wallpapers'
,
1
,
'http://www.lordoftherings.net'
,
'2002-01-22'
,
''
,
448
,
0
,
''
,
3805
,
0
,
0
,
''
);
INSERT
INTO
t1
VALUES
(
2
,
'http://www.othemovie.com/OScreenSaver1.EXE'
,
'O
Screensaver'
,
2
,
''
,
'2002-01-22'
,
''
,
491
,
0
,
''
,
519
,
0
,
0
,
''
);
INSERT
INTO
t1
VALUES
(
3
,
'http://www.siamzone.com/download/download/000003-jasonx2(800x600).jpg'
,
'Jaso
n X Wallpapers'
,
1
,
''
,
'2002-05-31'
,
''
,
579
,
0
,
''
,
1091
,
0
,
0
,
''
);
select
*
from
t1
order
by
id
;
DROP
TABLE
t1
;
mysql-test/t/rpl_rewrite_db-slave.opt
View file @
6b2b1b8e
"--replicate-rewrite-db=mysqltest1->test"
"--replicate-rewrite-db=
test->rewrite" "--replicate-rewrite-db=
mysqltest1->test"
mysql-test/t/rpl_rewrite_db.test
View file @
6b2b1b8e
...
...
@@ -17,3 +17,61 @@ drop table t1;
drop
database
mysqltest1
;
sync_slave_with_master
;
#
# BUG#6353:
# Option --replicate-rewrite-db should work together with LOAD DATA INFILE
#
connection
slave
;
--
disable_warnings
drop
database
if
exists
rewrite
;
--
enable_warnings
create
database
rewrite
;
connection
master
;
use
test
;
create
table
t1
(
a
date
,
b
date
,
c
date
not
null
,
d
date
);
load
data
infile
'../../std_data/loaddata1.dat'
into
table
t1
fields
terminated
by
','
;
load
data
infile
'../../std_data/loaddata1.dat'
into
table
t1
fields
terminated
by
','
IGNORE
2
LINES
;
sync_slave_with_master
;
connection
slave
;
select
*
from
rewrite
.
t1
;
connection
master
;
truncate
table
t1
;
load
data
infile
'../../std_data/loaddata1.dat'
into
table
t1
fields
terminated
by
','
LINES
STARTING
BY
','
(
b
,
c
,
d
);
sync_slave_with_master
;
connection
slave
;
select
*
from
rewrite
.
t1
;
connection
master
;
drop
table
t1
;
create
table
t1
(
a
text
,
b
text
);
load
data
infile
'../../std_data/loaddata2.dat'
into
table
t1
fields
terminated
by
','
enclosed
by
''''
;
sync_slave_with_master
;
connection
slave
;
select
concat
(
'|'
,
a
,
'|'
),
concat
(
'|'
,
b
,
'|'
)
from
rewrite
.
t1
;
connection
master
;
drop
table
t1
;
create
table
t1
(
a
int
,
b
char
(
10
));
load
data
infile
'../../std_data/loaddata3.dat'
into
table
t1
fields
terminated
by
''
enclosed
by
''
ignore
1
lines
;
sync_slave_with_master
;
connection
slave
;
select
*
from
rewrite
.
t1
;
connection
master
;
truncate
table
t1
;
load
data
infile
'../../std_data/loaddata4.dat'
into
table
t1
fields
terminated
by
''
enclosed
by
''
lines
terminated
by
''
ignore
1
lines
;
sync_slave_with_master
;
connection
slave
;
# The empty line last comes from the end line field in the file
select
*
from
rewrite
.
t1
;
connection
master
;
drop
table
t1
;
ndb/config/type_ndbapitools.mk.am
View file @
6b2b1b8e
...
...
@@ -11,4 +11,5 @@ INCLUDES += -I$(srcdir) -I$(top_srcdir)/include \
-I$(top_srcdir)/ndb/include/util \
-I$(top_srcdir)/ndb/include/portlib \
-I$(top_srcdir)/ndb/test/include \
-I$(top_srcdir)/ndb/include/mgmapi
-I$(top_srcdir)/ndb/include/mgmapi \
-I$(top_srcdir)/ndb/include/kernel
ndb/include/mgm
common
/LocalConfig.hpp
→
ndb/include/mgm
api
/LocalConfig.hpp
View file @
6b2b1b8e
File moved
ndb/include/
mgmcommon
/NdbConfig.h
→
ndb/include/
portlib
/NdbConfig.h
View file @
6b2b1b8e
File moved
ndb/src/Makefile.am
View file @
6b2b1b8e
...
...
@@ -11,8 +11,8 @@ libndbclient_la_LIBADD = \
common/transporter/libtransporter.la
\
common/debugger/libtrace.la
\
common/debugger/signaldata/libsignaldataprint.la
\
common/mgmcommon/libmgmsrvcommon.la
\
mgmapi/libmgmapi.la
\
common/mgmcommon/libmgmsrvcommon.la
\
common/logger/liblogger.la
\
common/portlib/libportlib.la
\
common/util/libgeneral.la
...
...
ndb/src/common/mgmcommon/Makefile.am
View file @
6b2b1b8e
noinst_LTLIBRARIES
=
libmgmsrvcommon.la
libmgmsrvcommon_la_SOURCES
=
\
LocalConfig.cpp
\
ConfigRetriever.cpp
\
IPCConfig.cpp
NdbConfig.c
IPCConfig.cpp
INCLUDES_LOC
=
-I
$(top_srcdir)
/ndb/src/mgmapi
-I
$(top_srcdir)
/ndb/src/mgmsrv
...
...
ndb/src/common/portlib/Makefile.am
View file @
6b2b1b8e
...
...
@@ -5,7 +5,8 @@ noinst_LTLIBRARIES = libportlib.la
libportlib_la_SOURCES
=
\
NdbCondition.c NdbMutex.c NdbSleep.c NdbTick.c
\
NdbEnv.c NdbThread.c NdbHost.c NdbTCP.cpp
\
NdbDaemon.c NdbMem.c
NdbDaemon.c NdbMem.c
\
NdbConfig.c
include
$(top_srcdir)/ndb/config/common.mk.am
include
$(top_srcdir)/ndb/config/type_util.mk.am
...
...
ndb/src/common/
mgmcommon
/NdbConfig.c
→
ndb/src/common/
portlib
/NdbConfig.c
View file @
6b2b1b8e
File moved
ndb/src/common/transporter/TransporterRegistry.cpp
View file @
6b2b1b8e
...
...
@@ -467,8 +467,9 @@ TransporterRegistry::prepareSend(const SignalHeader * const signalHeader,
Transporter
*
t
=
theTransporters
[
nodeId
];
if
(
t
!=
NULL
&&
(((
ioStates
[
nodeId
]
!=
HaltOutput
)
&&
(
ioStates
[
nodeId
]
!=
HaltIO
))
||
(
signalHeader
->
theReceiversBlockNumber
==
252
)))
{
((
signalHeader
->
theReceiversBlockNumber
==
252
)
||
(
signalHeader
->
theReceiversBlockNumber
==
4002
))))
{
if
(
t
->
isConnected
()){
Uint32
lenBytes
=
t
->
m_packer
.
getMessageLength
(
signalHeader
,
ptr
);
if
(
lenBytes
<=
MAX_MESSAGE_SIZE
){
...
...
@@ -538,8 +539,9 @@ TransporterRegistry::prepareSend(const SignalHeader * const signalHeader,
Transporter
*
t
=
theTransporters
[
nodeId
];
if
(
t
!=
NULL
&&
(((
ioStates
[
nodeId
]
!=
HaltOutput
)
&&
(
ioStates
[
nodeId
]
!=
HaltIO
))
||
(
signalHeader
->
theReceiversBlockNumber
==
252
)))
{
((
signalHeader
->
theReceiversBlockNumber
==
252
)
||
(
signalHeader
->
theReceiversBlockNumber
==
4002
))))
{
if
(
t
->
isConnected
()){
Uint32
lenBytes
=
t
->
m_packer
.
getMessageLength
(
signalHeader
,
ptr
);
if
(
lenBytes
<=
MAX_MESSAGE_SIZE
){
...
...
@@ -550,7 +552,7 @@ TransporterRegistry::prepareSend(const SignalHeader * const signalHeader,
return
SEND_OK
;
}
/**
* @note: on linux/i386 the granularity is 10ms
* so sleepTime = 2 generates a 10 ms sleep.
...
...
ndb/src/kernel/blocks/backup/Makefile.am
View file @
6b2b1b8e
SUBDIRS
=
restore
noinst_LIBRARIES
=
libbackup.a
libbackup_a_SOURCES
=
Backup.cpp BackupInit.cpp
...
...
ndb/src/kernel/blocks/backup/restore/Makefile.am
deleted
100644 → 0
View file @
0dec6c9b
ndbtools_PROGRAMS
=
ndb_restore
ndb_restore_SOURCES
=
main.cpp consumer.cpp consumer_restore.cpp consumer_printer.cpp Restore.cpp
LDADD_LOC
=
\
$(top_builddir)
/ndb/src/libndbclient.la
\
$(top_builddir)
/dbug/libdbug.a
\
$(top_builddir)
/mysys/libmysys.a
\
$(top_builddir)
/strings/libmystrings.a @NDB_SCI_LIBS@
include
$(top_srcdir)/ndb/config/common.mk.am
INCLUDES
+=
-I
..
-I
$(top_srcdir)
/include
-I
$(top_srcdir)
/ndb/include
-I
$(top_srcdir)
/ndb/src/ndbapi
-I
$(top_srcdir)
/ndb/include/ndbapi
-I
$(top_srcdir)
/ndb/include/util
-I
$(top_srcdir)
/ndb/include/portlib
-I
$(top_srcdir)
/ndb/include/kernel
ndb_restore_LDFLAGS
=
@ndb_bin_am_ldflags@
windoze-dsp
:
ndb_restore.dsp
ndb_restore.dsp
:
Makefile
\
$(top_srcdir)/ndb/config/win-prg.am
\
$(top_srcdir)/ndb/config/win-name
\
$(top_srcdir)/ndb/config/win-includes
\
$(top_srcdir)/ndb/config/win-sources
\
$(top_srcdir)/ndb/config/win-libraries
cat
$(top_srcdir)
/ndb/config/win-prg.am
>
$@
@
$(top_srcdir)
/ndb/config/win-name
$@
$(ndbtools_PROGRAMS)
@
$(top_srcdir)
/ndb/config/win-includes
$@
$(INCLUDES)
@
$(top_srcdir)
/ndb/config/win-sources
$@
$(ndb_restore_SOURCES)
@
$(top_srcdir)
/ndb/config/win-libraries
$@
LINK
$(LDADD)
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp
View file @
6b2b1b8e
...
...
@@ -1934,17 +1934,27 @@ void Qmgr::execAPI_REGREQ(Signal* signal)
switch
(
getNodeInfo
(
apiNodePtr
.
i
).
getType
()){
case
NodeInfo
:
:
API
:
compatability_check
=
ndbCompatible_ndb_api
(
NDB_VERSION
,
version
);
if
(
!
compatability_check
)
infoEvent
(
"Connection attempt from api or mysqld id=%d with %s "
"incompatible with %s"
,
apiNodePtr
.
i
,
getVersionString
(
version
,
""
),
NDB_VERSION_STRING
);
break
;
case
NodeInfo
:
:
MGM
:
compatability_check
=
ndbCompatible_ndb_mgmt
(
NDB_VERSION
,
version
);
if
(
!
compatability_check
)
infoEvent
(
"Connection attempt from management server id=%d with %s "
"incompatible with %s"
,
apiNodePtr
.
i
,
getVersionString
(
version
,
""
),
NDB_VERSION_STRING
);
break
;
case
NodeInfo
:
:
REP
:
compatability_check
=
ndbCompatible_ndb_api
(
NDB_VERSION
,
version
);
break
;
//
compatability_check = ndbCompatible_ndb_api(NDB_VERSION, version);
//
break;
case
NodeInfo
:
:
DB
:
case
NodeInfo
:
:
INVALID
:
default:
sendApiRegRef
(
signal
,
ref
,
ApiRegRef
::
WrongType
);
infoEvent
(
"Invalid connection attempt with type %d"
,
getNodeInfo
(
apiNodePtr
.
i
).
getType
());
return
;
}
...
...
ndb/src/
common/mgmcommon
/LocalConfig.cpp
→
ndb/src/
mgmapi
/LocalConfig.cpp
View file @
6b2b1b8e
...
...
@@ -14,7 +14,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include
"LocalConfig.hpp"
#include
<LocalConfig.hpp>
#include <NdbEnv.h>
#include <NdbConfig.h>
#include <NdbAutoPtr.hpp>
...
...
@@ -164,17 +164,25 @@ LocalConfig::parseNodeId(const char * buf){
bool
LocalConfig
::
parseHostName
(
const
char
*
buf
){
char
tempString
[
1024
];
char
tempString2
[
1024
];
int
port
;
for
(
int
i
=
0
;
hostNameTokens
[
i
]
!=
0
;
i
++
)
{
if
(
sscanf
(
buf
,
hostNameTokens
[
i
],
tempString
,
&
port
)
==
2
)
{
MgmtSrvrId
mgmtSrvrId
;
mgmtSrvrId
.
type
=
MgmId_TCP
;
mgmtSrvrId
.
name
.
assign
(
tempString
);
mgmtSrvrId
.
port
=
port
;
ids
.
push_back
(
mgmtSrvrId
);
return
true
;
do
{
for
(
int
i
=
0
;
hostNameTokens
[
i
]
!=
0
;
i
++
)
{
if
(
sscanf
(
buf
,
hostNameTokens
[
i
],
tempString
,
&
port
)
==
2
)
{
MgmtSrvrId
mgmtSrvrId
;
mgmtSrvrId
.
type
=
MgmId_TCP
;
mgmtSrvrId
.
name
.
assign
(
tempString
);
mgmtSrvrId
.
port
=
port
;
ids
.
push_back
(
mgmtSrvrId
);
return
true
;
}
}
}
if
(
buf
==
tempString2
)
break
;
// try to add default port to see if it works
snprintf
(
tempString2
,
sizeof
(
tempString2
),
"%s:%s"
,
buf
,
NDB_PORT
);
buf
=
tempString2
;
}
while
(
1
);
return
false
;
}
...
...
ndb/src/mgmapi/Makefile.am
View file @
6b2b1b8e
noinst_LTLIBRARIES
=
libmgmapi.la
libmgmapi_la_SOURCES
=
mgmapi.cpp mgmapi_configuration.cpp
libmgmapi_la_SOURCES
=
mgmapi.cpp mgmapi_configuration.cpp
LocalConfig.cpp
INCLUDES_LOC
=
-I
$(top_srcdir)
/ndb/include/mgmapi
-I
$(top_srcdir)
/ndb/src/common/mgmcommon
DEFS_LOC
=
-DNO_DEBUG_MESSAGES
INCLUDES_LOC
=
-I
$(top_srcdir)
/ndb/include/mgmapi
DEFS_LOC
=
-DNO_DEBUG_MESSAGES
-DNDB_PORT
=
"
\"
@ndb_port@
\"
"
include
$(top_srcdir)/ndb/config/common.mk.am
include
$(top_srcdir)/ndb/config/type_util.mk.am
...
...
ndb/src/mgmapi/mgmapi.cpp
View file @
6b2b1b8e
...
...
@@ -17,6 +17,7 @@
#include <ndb_global.h>
#include <my_sys.h>
#include <LocalConfig.hpp>
#include <NdbAutoPtr.hpp>
#include <NdbTCP.h>
...
...
@@ -94,6 +95,8 @@ struct ndb_mgm_handle {
NDB_SOCKET_TYPE
socket
;
char
cfg_ptr
[
sizeof
(
LocalConfig
)];
#ifdef MGMAPI_LOG
FILE
*
logfile
;
#endif
...
...
@@ -146,10 +149,12 @@ ndb_mgm_create_handle()
h
->
last_error
=
0
;
h
->
last_error_line
=
0
;
h
->
hostname
=
0
;
h
->
socket
=
-
1
;
h
->
socket
=
NDB_INVALID_SOCKET
;
h
->
read_timeout
=
50000
;
h
->
write_timeout
=
100
;
new
(
h
->
cfg_ptr
)
LocalConfig
;
strncpy
(
h
->
last_error_desc
,
"No error"
,
NDB_MGM_MAX_ERR_DESC_SIZE
);
#ifdef MGMAPI_LOG
h
->
logfile
=
0
;
...
...
@@ -177,6 +182,7 @@ ndb_mgm_destroy_handle(NdbMgmHandle * handle)
(
*
handle
)
->
logfile
=
0
;
}
#endif
((
LocalConfig
*
)((
*
handle
)
->
cfg_ptr
))
->~
LocalConfig
();
my_free
((
char
*
)
*
handle
,
MYF
(
MY_ALLOW_ZERO_PTR
));
*
handle
=
0
;
}
...
...
@@ -220,42 +226,6 @@ ndb_mgm_get_latest_error_msg(const NdbMgmHandle h)
return
"Error"
;
// Unknown Error message
}
static
int
parse_connect_string
(
const
char
*
connect_string
,
NdbMgmHandle
handle
)
{
if
(
connect_string
==
0
){
SET_ERROR
(
handle
,
NDB_MGM_ILLEGAL_CONNECT_STRING
,
""
);
return
-
1
;
}
char
*
line
=
my_strdup
(
connect_string
,
MYF
(
MY_WME
));
My_auto_ptr
<
char
>
ap1
(
line
);
if
(
line
==
0
){
SET_ERROR
(
handle
,
NDB_MGM_OUT_OF_MEMORY
,
""
);
return
-
1
;
}
char
*
tmp
=
strchr
(
line
,
':'
);
if
(
tmp
==
0
){
SET_ERROR
(
handle
,
NDB_MGM_OUT_OF_MEMORY
,
""
);
return
-
1
;
}
*
tmp
=
0
;
tmp
++
;
int
port
=
0
;
if
(
sscanf
(
tmp
,
"%d"
,
&
port
)
!=
1
){
SET_ERROR
(
handle
,
NDB_MGM_ILLEGAL_PORT_NUMBER
,
""
);
return
-
1
;
}
my_free
(
handle
->
hostname
,
MYF
(
MY_ALLOW_ZERO_PTR
));
handle
->
hostname
=
my_strdup
(
line
,
MYF
(
MY_WME
));
handle
->
port
=
port
;
return
0
;
}
/*
* Call an operation, and return the reply
*/
...
...
@@ -348,11 +318,6 @@ ndb_mgm_connect(NdbMgmHandle handle, const char * mgmsrv)
{
SET_ERROR
(
handle
,
NDB_MGM_NO_ERROR
,
"Executing: ndb_mgm_connect"
);
CHECK_HANDLE
(
handle
,
-
1
);
if
(
parse_connect_string
(
mgmsrv
,
handle
)
!=
0
)
{
SET_ERROR
(
handle
,
NDB_MGM_ILLEGAL_CONNECT_STRING
,
""
);
return
-
1
;
}
#ifdef MGMAPI_LOG
/**
...
...
@@ -366,14 +331,37 @@ ndb_mgm_connect(NdbMgmHandle handle, const char * mgmsrv)
/**
* Do connect
*/
SocketClient
s
(
handle
->
hostname
,
handle
->
port
);
const
NDB_SOCKET_TYPE
sockfd
=
s
.
connect
();
if
(
sockfd
==
NDB_INVALID_SOCKET
)
{
LocalConfig
*
cfg
=
(
LocalConfig
*
)(
handle
->
cfg_ptr
);
new
(
cfg
)
LocalConfig
;
if
(
!
cfg
->
init
(
mgmsrv
,
0
)
||
cfg
->
ids
.
size
()
==
0
)
{
SET_ERROR
(
handle
,
NDB_MGM_ILLEGAL_CONNECT_STRING
,
""
);
return
-
1
;
}
NDB_SOCKET_TYPE
sockfd
=
NDB_INVALID_SOCKET
;
Uint32
i
;
for
(
i
=
0
;
i
<
cfg
->
ids
.
size
();
i
++
)
{
if
(
cfg
->
ids
[
i
].
type
!=
MgmId_TCP
)
continue
;
SocketClient
s
(
cfg
->
ids
[
i
].
name
.
c_str
(),
cfg
->
ids
[
i
].
port
);
sockfd
=
s
.
connect
();
if
(
sockfd
!=
NDB_INVALID_SOCKET
)
break
;
}
if
(
sockfd
==
NDB_INVALID_SOCKET
)
{
setError
(
handle
,
NDB_MGM_COULD_NOT_CONNECT_TO_SOCKET
,
__LINE__
,
"Unable to connect
to
%s"
,
mgmsrv
);
"Unable to connect
using connectstring
%s"
,
mgmsrv
);
return
-
1
;
}
my_free
(
handle
->
hostname
,
MYF
(
MY_ALLOW_ZERO_PTR
));
handle
->
hostname
=
my_strdup
(
cfg
->
ids
[
i
].
name
.
c_str
(),
MYF
(
MY_WME
));
handle
->
port
=
cfg
->
ids
[
i
].
port
;
handle
->
socket
=
sockfd
;
handle
->
connected
=
1
;
...
...
@@ -392,7 +380,7 @@ ndb_mgm_disconnect(NdbMgmHandle handle)
CHECK_CONNECTED
(
handle
,
-
1
);
NDB_CLOSE_SOCKET
(
handle
->
socket
);
handle
->
socket
=
-
1
;
handle
->
socket
=
NDB_INVALID_SOCKET
;
handle
->
connected
=
0
;
return
0
;
...
...
ndb/src/mgmclient/CommandInterpreter.cpp
View file @
6b2b1b8e
...
...
@@ -384,8 +384,10 @@ CommandInterpreter::CommandInterpreter(const char *_host)
connected
=
false
;
try_reconnect
=
0
;
host
=
my_strdup
(
_host
,
MYF
(
MY_WME
));
if
(
_host
)
host
=
my_strdup
(
_host
,
MYF
(
MY_WME
));
else
host
=
0
;
#ifdef HAVE_GLOBAL_REPLICATION
rep_host
=
NULL
;
m_repserver
=
NULL
;
...
...
@@ -400,7 +402,7 @@ CommandInterpreter::~CommandInterpreter()
{
connected
=
false
;
ndb_mgm_destroy_handle
(
&
m_mgmsrv
);
my_free
((
char
*
)
host
,
MYF
(
0
));
my_free
((
char
*
)
host
,
MYF
(
MY_ALLOW_ZERO_PTR
));
host
=
NULL
;
}
...
...
ndb/src/mgmclient/Makefile.am
View file @
6b2b1b8e
...
...
@@ -3,17 +3,24 @@ noinst_LTLIBRARIES = libndbmgmclient.la
ndbtools_PROGRAMS
=
ndb_mgm
libndbmgmclient_la_SOURCES
=
CommandInterpreter.cpp
libndbmgmclient_la_LIBADD
=
../mgmapi/libmgmapi.la
\
../common/logger/liblogger.la
\
../common/portlib/libportlib.la
\
../common/util/libgeneral.la
\
../common/portlib/libportlib.la
ndb_mgm_SOURCES
=
main.cpp
include
$(top_srcdir)/ndb/config/common.mk.am
include
$(top_srcdir)/ndb/config/type_ndbapi.mk.am
INCLUDES
+=
-I
$(top_srcdir)
/ndb/include/mgmapi
-I
$(top_srcdir)
/ndb/src/common/mgmcommon
INCLUDES
+=
-I
$(top_srcdir)
/ndb/include/mgmapi
\
-I
$(top_srcdir)
/ndb/src/common/mgmcommon
LDADD_LOC
=
$(noinst_LTLIBRARIES)
\
../common/portlib/libportlib.la
\
@readline_link@
\
$(top_builddir)
/ndb/src/libndbclient.la
\
$(top_builddir)
/dbug/libdbug.a
\
$(top_builddir)
/mysys/libmysys.a
\
$(top_builddir)
/strings/libmystrings.a
\
...
...
ndb/src/mgmclient/main.cpp
View file @
6b2b1b8e
...
...
@@ -145,33 +145,21 @@ int main(int argc, char** argv){
if
((
ho_error
=
handle_options
(
&
argc
,
&
argv
,
my_long_options
,
get_one_option
)))
exit
(
ho_error
);
LocalConfig
cfg
;
if
(
argc
>=
1
)
{
_host
=
argv
[
0
];
if
(
argc
>=
2
)
{
_port
=
atoi
(
argv
[
1
]);
}
}
else
{
if
(
cfg
.
init
(
opt_connect_str
,
0
)
&&
cfg
.
ids
.
size
()
>
0
&&
cfg
.
ids
[
0
].
type
==
MgmId_TCP
){
_host
=
cfg
.
ids
[
0
].
name
.
c_str
();
_port
=
cfg
.
ids
[
0
].
port
;
}
else
{
cfg
.
printError
();
cfg
.
printUsage
();
return
1
;
}
}
char
buf
[
MAXHOSTNAMELEN
+
10
];
BaseString
::
snprintf
(
buf
,
sizeof
(
buf
),
"%s:%d"
,
_host
,
_port
);
if
(
argc
==
1
)
{
BaseString
::
snprintf
(
buf
,
sizeof
(
buf
),
"%s"
,
argv
[
0
]);
opt_connect_str
=
buf
;
}
else
if
(
argc
>=
2
)
{
BaseString
::
snprintf
(
buf
,
sizeof
(
buf
),
"%s:%s"
,
argv
[
0
],
argv
[
1
]);
opt_connect_str
=
buf
;
}
ndbout
<<
"-- NDB Cluster -- Management Client --"
<<
endl
;
printf
(
"Connecting to Management Server: %s
\n
"
,
buf
);
printf
(
"Connecting to Management Server: %s
\n
"
,
opt_connect_str
?
opt_connect_str
:
"default"
);
signal
(
SIGPIPE
,
handler
);
com
=
new
Ndb_mgmclient
(
buf
);
com
=
new
Ndb_mgmclient
(
opt_connect_str
);
while
(
read_and_execute
(
_try_reconnect
));
delete
com
;
...
...
ndb/tools/Makefile.am
View file @
6b2b1b8e
...
...
@@ -8,9 +8,12 @@ ndbtools_PROGRAMS = \
ndb_drop_index
\
ndb_show_tables
\
ndb_select_all
\
ndb_select_count
ndb_select_count
\
ndb_restore
tools_common_sources
=
../test/src/NDBT_ReturnCodes.cpp ../test/src/NDBT_Table.cpp ../test/src/NDBT_Output.cpp
tools_common_sources
=
../test/src/NDBT_ReturnCodes.cpp
\
../test/src/NDBT_Table.cpp
\
../test/src/NDBT_Output.cpp
ndb_test_platform_SOURCES
=
ndb_test_platform.cpp
ndb_waiter_SOURCES
=
waiter.cpp
$(tools_common_sources)
...
...
@@ -19,8 +22,15 @@ ndb_desc_SOURCES = desc.cpp $(tools_common_sources)
ndb_drop_index_SOURCES
=
drop_index.cpp
$(tools_common_sources)
ndb_drop_table_SOURCES
=
drop_tab.cpp
$(tools_common_sources)
ndb_show_tables_SOURCES
=
listTables.cpp
$(tools_common_sources)
ndb_select_all_SOURCES
=
select_all.cpp ../test/src/NDBT_ResultRow.cpp
$(tools_common_sources)
ndb_select_all_SOURCES
=
select_all.cpp
\
../test/src/NDBT_ResultRow.cpp
\
$(tools_common_sources)
ndb_select_count_SOURCES
=
select_count.cpp
$(tools_common_sources)
ndb_restore_SOURCES
=
restore/main.cpp
\
restore/consumer.cpp
\
restore/consumer_restore.cpp
\
restore/consumer_printer.cpp
\
restore/Restore.cpp
include
$(top_srcdir)/ndb/config/common.mk.am
include
$(top_srcdir)/ndb/config/type_ndbapitools.mk.am
...
...
@@ -34,6 +44,7 @@ ndb_drop_index_LDFLAGS = @ndb_bin_am_ldflags@
ndb_show_tables_LDFLAGS
=
@ndb_bin_am_ldflags@
ndb_select_all_LDFLAGS
=
@ndb_bin_am_ldflags@
ndb_select_count_LDFLAGS
=
@ndb_bin_am_ldflags@
ndb_restore_LDFLAGS
=
@ndb_bin_am_ldflags@
# Don't update the files from bitkeeper
%
::
SCCS/s.%
...
...
ndb/
src/kernel/blocks/backup
/restore/Restore.cpp
→
ndb/
tools
/restore/Restore.cpp
View file @
6b2b1b8e
...
...
@@ -15,7 +15,6 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include "Restore.hpp"
#include "BackupFormat.hpp"
#include <NdbTCP.h>
#include <OutputStream.hpp>
#include <Bitmask.hpp>
...
...
@@ -25,9 +24,6 @@
#include <SimpleProperties.hpp>
#include <signaldata/DictTabInfo.hpp>
// from src/ndbapi
#include <NdbDictionaryImpl.hpp>
Uint16
Twiddle16
(
Uint16
in
);
// Byte shift 16-bit data
Uint32
Twiddle32
(
Uint32
in
);
// Byte shift 32-bit data
Uint64
Twiddle64
(
Uint64
in
);
// Byte shift 64-bit data
...
...
ndb/
src/kernel/blocks/backup
/restore/Restore.hpp
→
ndb/
tools
/restore/Restore.hpp
View file @
6b2b1b8e
...
...
@@ -19,7 +19,8 @@
#include <ndb_global.h>
#include <NdbOut.hpp>
#include <BackupFormat.hpp>
#include "../src/kernel/blocks/backup/BackupFormat.hpp"
#include "../src/ndbapi/NdbDictionaryImpl.hpp"
#include <NdbApi.hpp>
#include <ndb_version.h>
...
...
ndb/
src/kernel/blocks/backup
/restore/consumer.cpp
→
ndb/
tools
/restore/consumer.cpp
View file @
6b2b1b8e
File moved
ndb/
src/kernel/blocks/backup
/restore/consumer.hpp
→
ndb/
tools
/restore/consumer.hpp
View file @
6b2b1b8e
File moved
ndb/
src/kernel/blocks/backup
/restore/consumer_printer.cpp
→
ndb/
tools
/restore/consumer_printer.cpp
View file @
6b2b1b8e
File moved
ndb/
src/kernel/blocks/backup
/restore/consumer_printer.hpp
→
ndb/
tools
/restore/consumer_printer.hpp
View file @
6b2b1b8e
File moved
ndb/
src/kernel/blocks/backup
/restore/consumer_restore.cpp
→
ndb/
tools
/restore/consumer_restore.cpp
View file @
6b2b1b8e
...
...
@@ -16,7 +16,6 @@
#include "consumer_restore.hpp"
#include <NdbSleep.h>
#include <NdbDictionaryImpl.hpp>
extern
FilteredNdbOut
err
;
extern
FilteredNdbOut
info
;
...
...
ndb/
src/kernel/blocks/backup
/restore/consumer_restore.hpp
→
ndb/
tools
/restore/consumer_restore.hpp
View file @
6b2b1b8e
File moved
ndb/
src/kernel/blocks/backup
/restore/consumer_restorem.cpp
→
ndb/
tools
/restore/consumer_restorem.cpp
View file @
6b2b1b8e
File moved
ndb/
src/kernel/blocks/backup
/restore/main.cpp
→
ndb/
tools
/restore/main.cpp
View file @
6b2b1b8e
File moved
ndb/tools/waiter.cpp
View file @
6b2b1b8e
...
...
@@ -23,12 +23,13 @@
#include <NdbOut.hpp>
#include <NdbSleep.h>
#include <kernel/ndb_limits.h>
#include
"../include/mgmcommon/LocalConfig.hpp"
#include
<LocalConfig.hpp>
#include <NDBT.hpp>
int
waitClusterStatus
(
const
char
*
_addr
,
ndb_mgm_node_status
_status
,
unsigned
int
_timeout
);
waitClusterStatus
(
const
char
*
_addr
,
ndb_mgm_node_status
_status
,
unsigned
int
_timeout
);
static
const
char
*
opt_connect_str
=
0
;
static
int
_no_contact
=
0
;
...
...
sql/log_event.cc
View file @
6b2b1b8e
...
...
@@ -1655,16 +1655,22 @@ void Load_log_event::print(FILE* file, bool short_form, char* last_db,
/*
Load_log_event::set_fields()
Note that this function can not use the member variable
for the database, since LOAD DATA INFILE on the slave
can be for a different database than the current one.
This is the reason for the affected_db argument to this method.
*/
#ifndef MYSQL_CLIENT
void
Load_log_event
::
set_fields
(
List
<
Item
>
&
field_list
)
void
Load_log_event
::
set_fields
(
const
char
*
affected_db
,
List
<
Item
>
&
field_list
)
{
uint
i
;
const
char
*
field
=
fields
;
for
(
i
=
0
;
i
<
num_fields
;
i
++
)
{
field_list
.
push_back
(
new
Item_field
(
db
,
table_name
,
field
));
field_list
.
push_back
(
new
Item_field
(
affected_db
,
table_name
,
field
));
field
+=
field_lens
[
i
]
+
1
;
}
}
...
...
@@ -1820,7 +1826,7 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli,
ex
.
skip_lines
=
skip_lines
;
List
<
Item
>
field_list
;
set_fields
(
field_list
);
set_fields
(
thd
->
db
,
field_list
);
thd
->
variables
.
pseudo_thread_id
=
thread_id
;
if
(
net
)
{
...
...
@@ -1837,13 +1843,13 @@ int Load_log_event::exec_event(NET* net, struct st_relay_log_info* rli,
if
(
thd
->
cuted_fields
)
{
/* log_pos is the position of the LOAD event in the master log */
sql_print_error
(
"\
Slave: load data infile on table '%s' at log position %s in log \
'%s' produced %ld
warning(s). Default database: '%s'"
,
(
char
*
)
table_name
,
llstr
(
log_pos
,
llbuff
),
RPL_LOG_NAME
,
(
ulong
)
thd
->
cuted_fields
,
print_slave_db_safe
(
thd
->
db
));
sql_print_warning
(
"Slave: load data infile on table '%s' at "
"log position %s in log '%s' produced %ld "
"
warning(s). Default database: '%s'"
,
(
char
*
)
table_name
,
llstr
(
log_pos
,
llbuff
),
RPL_LOG_NAME
,
(
ulong
)
thd
->
cuted_fields
,
print_slave_db_safe
(
thd
->
db
));
}
if
(
net
)
net
->
pkt_nr
=
thd
->
net
.
pkt_nr
;
...
...
sql/log_event.h
View file @
6b2b1b8e
...
...
@@ -587,7 +587,7 @@ class Load_log_event: public Log_event
const
char
*
table_name_arg
,
List
<
Item
>&
fields_arg
,
enum
enum_duplicates
handle_dup
,
bool
using_trans
);
void
set_fields
(
List
<
Item
>
&
fields_arg
);
void
set_fields
(
const
char
*
db
,
List
<
Item
>
&
fields_arg
);
const
char
*
get_db
()
{
return
db
;
}
#ifdef HAVE_REPLICATION
void
pack_info
(
Protocol
*
protocol
);
...
...
strings/ctype-tis620.c
View file @
6b2b1b8e
...
...
@@ -562,17 +562,13 @@ int my_strnncollsp_tis620(CHARSET_INFO * cs __attribute__((unused)),
const
uchar
*
b0
,
uint
b_length
)
{
uchar
buf
[
80
]
;
uchar
*
end
,
*
a
,
*
b
;
uchar
*
end
,
*
a
,
*
b
,
*
alloced
=
NULL
;
uint
length
;
int
res
=
0
;
int
alloced
=
0
;
a
=
buf
;
if
((
a_length
+
b_length
+
2
)
>
(
int
)
sizeof
(
buf
))
{
a
=
(
uchar
*
)
malloc
(
a_length
+
b_length
);
alloced
=
1
;
}
alloced
=
a
=
(
uchar
*
)
malloc
(
a_length
+
b_length
);
b
=
a
+
a_length
+
1
;
memcpy
((
char
*
)
a
,
(
char
*
)
a0
,
a_length
);
...
...
@@ -618,7 +614,7 @@ int my_strnncollsp_tis620(CHARSET_INFO * cs __attribute__((unused)),
ret:
if
(
alloced
)
free
(
a
);
free
(
a
lloced
);
return
res
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment