summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorunknown <Sinisa@sinisa.nasamreza.org>2003-07-02 00:26:23 +0300
committerunknown <Sinisa@sinisa.nasamreza.org>2003-07-02 00:26:23 +0300
commit65d7980556227be9371d4fc2592cbe5c1140689c (patch)
tree32b1530dab96b7ee94ea6a553b1107f6dc0ea29a /client
parent12d879c912543fffa77cecfda799bc20ddd35df5 (diff)
parent49938821c26bb67de5f41fc6937401c6415bf641 (diff)
downloadmariadb-git-65d7980556227be9371d4fc2592cbe5c1140689c.tar.gz
merge changes
mysql-test/r/insert_select.result: Auto merged mysql-test/t/insert_select.test: Auto merged sql/sql_select.cc: Auto merged
Diffstat (limited to 'client')
-rw-r--r--client/mysqlbinlog.cc62
1 files changed, 8 insertions, 54 deletions
diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc
index 9ef340197a7..842dfa28f88 100644
--- a/client/mysqlbinlog.cc
+++ b/client/mysqlbinlog.cc
@@ -55,13 +55,11 @@ static ulonglong position = 0;
static bool use_remote = 0;
static short binlog_flags = 0;
static MYSQL* mysql = NULL;
-static const char* table = 0;
static void dump_local_log_entries(const char* logname);
static void dump_remote_log_entries(const char* logname);
static void dump_log_entries(const char* logname);
static void dump_remote_file(NET* net, const char* fname);
-static void dump_remote_table(NET* net, const char* db, const char* table);
static void die(const char* fmt, ...);
static MYSQL* safe_connect();
@@ -96,8 +94,6 @@ static struct my_option my_long_options[] =
{"short-form", 's', "Just show the queries, no extra info",
(gptr*) &short_form, (gptr*) &short_form, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
0, 0},
- {"table", 't', "Get raw table dump using COM_TABLE_DUMB", (gptr*) &table,
- (gptr*) &table, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"user", 'u', "Connect to the remote server as username",
(gptr*) &user, (gptr*) &user, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0,
0, 0},
@@ -252,35 +248,6 @@ static void dump_log_entries(const char* logname)
dump_local_log_entries(logname);
}
-static void dump_remote_table(NET* net, const char* db, const char* table)
-{
- char buf[1024];
- char * p = buf;
- uint table_len = (uint) strlen(table);
- uint db_len = (uint) strlen(db);
- if (table_len + db_len > sizeof(buf) - 2)
- die("Buffer overrun");
-
- *p++ = db_len;
- memcpy(p, db, db_len);
- p += db_len;
- *p++ = table_len;
- memcpy(p, table, table_len);
-
- if (simple_command(mysql, COM_TABLE_DUMP, buf, p - buf + table_len, 1))
- die("Error sending the table dump command");
-
- for (;;)
- {
- uint packet_len = my_net_read(net);
- if (packet_len == 0) break; // end of file
- if (packet_len == packet_error)
- die("Error reading packet in table dump");
- my_fwrite(result_file, (byte*)net->read_pos, packet_len, MYF(MY_WME));
- fflush(result_file);
- }
-}
-
static int check_master_version(MYSQL* mysql)
{
MYSQL_RES* res = 0;
@@ -379,7 +346,7 @@ static void dump_remote_log_entries(const char* logname)
}
-static int check_header(IO_CACHE* file)
+static int check_header(IO_CACHE* file, const char *fname)
{
byte header[BIN_LOG_HEADER_SIZE];
byte buf[PROBE_HEADER_LEN];
@@ -390,7 +357,7 @@ static int check_header(IO_CACHE* file)
if (my_b_read(file, header, sizeof(header)))
die("Failed reading header; Probably an empty file");
if (memcmp(header, BINLOG_MAGIC, sizeof(header)))
- die("File is not a binary log file");
+ die("File %s is not a binary log file",fname);
if (!my_b_read(file, buf, sizeof(buf)))
{
if (buf[4] == START_EVENT)
@@ -423,14 +390,14 @@ static void dump_local_log_entries(const char* logname)
if (init_io_cache(file, fd, 0, READ_CACHE, (my_off_t) position, 0,
MYF(MY_WME | MY_NABP)))
exit(1);
- old_format = check_header(file);
+ old_format = check_header(file,logname);
}
else
{
if (init_io_cache(file, fileno(result_file), 0, READ_CACHE, (my_off_t) 0,
0, MYF(MY_WME | MY_NABP | MY_DONT_CHECK_FILESIZE)))
exit(1);
- old_format = check_header(file);
+ old_format = check_header(file,"");
if (position)
{
/* skip 'position' characters from stdout */
@@ -516,7 +483,7 @@ int main(int argc, char** argv)
MY_INIT(argv[0]);
parse_args(&argc, (char***)&argv);
- if (!argc && !table)
+ if (!argc)
{
usage();
return -1;
@@ -525,22 +492,9 @@ int main(int argc, char** argv)
if (use_remote)
mysql = safe_connect();
- if (table)
- {
- if (!use_remote)
- die("You must specify connection parameter to get table dump");
- char* db = (char*) table;
- char* tbl = (char*) strchr(table, '.');
- if (!tbl)
- die("You must use database.table syntax to specify the table");
- *tbl++ = 0;
- dump_remote_table(&mysql->net, db, tbl);
- }
- else
- {
- while (--argc >= 0)
- dump_log_entries(*(argv++));
- }
+ while (--argc >= 0)
+ dump_log_entries(*(argv++));
+
if (result_file != stdout)
my_fclose(result_file, MYF(0));
if (use_remote)