mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge mysql.com:/home/jimw/my/mysql-5.0-5036
into mysql.com:/home/jimw/my/mysql-5.0-clean
This commit is contained in:
@ -28,7 +28,8 @@
|
|||||||
#include <sslopt-vars.h>
|
#include <sslopt-vars.h>
|
||||||
|
|
||||||
static my_string host=0,opt_password=0,user=0;
|
static my_string host=0,opt_password=0,user=0;
|
||||||
static my_bool opt_show_keys=0,opt_compress=0,opt_status=0, tty_password=0;
|
static my_bool opt_show_keys= 0, opt_compress= 0, opt_status= 0,
|
||||||
|
tty_password= 0, opt_table_type= 0;
|
||||||
static uint opt_verbose=0;
|
static uint opt_verbose=0;
|
||||||
static char *default_charset= (char*) MYSQL_DEFAULT_CHARSET_NAME;
|
static char *default_charset= (char*) MYSQL_DEFAULT_CHARSET_NAME;
|
||||||
|
|
||||||
@ -193,6 +194,9 @@ static struct my_option my_long_options[] =
|
|||||||
"Base name of shared memory.", (gptr*) &shared_memory_base_name, (gptr*) &shared_memory_base_name,
|
"Base name of shared memory.", (gptr*) &shared_memory_base_name, (gptr*) &shared_memory_base_name,
|
||||||
0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
|
{"show-table-type", 't', "Show table type column.",
|
||||||
|
(gptr*) &opt_table_type, (gptr*) &opt_table_type, 0, GET_BOOL,
|
||||||
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"socket", 'S', "Socket file to use for connection.",
|
{"socket", 'S', "Socket file to use for connection.",
|
||||||
(gptr*) &opt_mysql_unix_port, (gptr*) &opt_mysql_unix_port, 0, GET_STR,
|
(gptr*) &opt_mysql_unix_port, (gptr*) &opt_mysql_unix_port, 0, GET_STR,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -418,7 +422,7 @@ list_tables(MYSQL *mysql,const char *db,const char *table)
|
|||||||
{
|
{
|
||||||
const char *header;
|
const char *header;
|
||||||
uint head_length, counter = 0;
|
uint head_length, counter = 0;
|
||||||
char query[255], rows[64], fields[16];
|
char query[255], rows[NAME_LEN], fields[16];
|
||||||
MYSQL_FIELD *field;
|
MYSQL_FIELD *field;
|
||||||
MYSQL_RES *result;
|
MYSQL_RES *result;
|
||||||
MYSQL_ROW row, rrow;
|
MYSQL_ROW row, rrow;
|
||||||
@ -429,7 +433,20 @@ list_tables(MYSQL *mysql,const char *db,const char *table)
|
|||||||
mysql_error(mysql));
|
mysql_error(mysql));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (!(result=mysql_list_tables(mysql,table)))
|
if (table)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
We just hijack the 'rows' variable for a bit to store the escaped
|
||||||
|
table name
|
||||||
|
*/
|
||||||
|
mysql_escape_string(rows, table, sizeof(rows));
|
||||||
|
my_snprintf(query, sizeof(query), "show%s tables like '%s'",
|
||||||
|
opt_table_type ? " full" : "", rows);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
my_snprintf(query, sizeof(query), "show%s tables",
|
||||||
|
opt_table_type ? " full" : "");
|
||||||
|
if (mysql_query(mysql, query) || !(result= mysql_store_result(mysql)))
|
||||||
{
|
{
|
||||||
fprintf(stderr,"%s: Cannot list tables in %s: %s\n",my_progname,db,
|
fprintf(stderr,"%s: Cannot list tables in %s: %s\n",my_progname,db,
|
||||||
mysql_error(mysql));
|
mysql_error(mysql));
|
||||||
@ -446,12 +463,27 @@ list_tables(MYSQL *mysql,const char *db,const char *table)
|
|||||||
if (head_length < field->max_length)
|
if (head_length < field->max_length)
|
||||||
head_length=field->max_length;
|
head_length=field->max_length;
|
||||||
|
|
||||||
if (!opt_verbose)
|
if (opt_table_type)
|
||||||
print_header(header,head_length,NullS);
|
{
|
||||||
else if (opt_verbose == 1)
|
if (!opt_verbose)
|
||||||
print_header(header,head_length,"Columns",8,NullS);
|
print_header(header,head_length,"table_type",10,NullS);
|
||||||
|
else if (opt_verbose == 1)
|
||||||
|
print_header(header,head_length,"table_type",10,"Columns",8,NullS);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print_header(header,head_length,"table_type",10,"Columns",8,
|
||||||
|
"Total Rows",10,NullS);
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
print_header(header,head_length,"Columns",8, "Total Rows",10,NullS);
|
{
|
||||||
|
if (!opt_verbose)
|
||||||
|
print_header(header,head_length,NullS);
|
||||||
|
else if (opt_verbose == 1)
|
||||||
|
print_header(header,head_length,"Columns",8,NullS);
|
||||||
|
else
|
||||||
|
print_header(header,head_length,"Columns",8, "Total Rows",10,NullS);
|
||||||
|
}
|
||||||
|
|
||||||
while ((row = mysql_fetch_row(result)))
|
while ((row = mysql_fetch_row(result)))
|
||||||
{
|
{
|
||||||
@ -500,17 +532,31 @@ list_tables(MYSQL *mysql,const char *db,const char *table)
|
|||||||
strmov(rows,"N/A");
|
strmov(rows,"N/A");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!opt_verbose)
|
if (opt_table_type)
|
||||||
print_row(row[0],head_length,NullS);
|
{
|
||||||
else if (opt_verbose == 1)
|
if (!opt_verbose)
|
||||||
print_row(row[0],head_length, fields,8, NullS);
|
print_row(row[0],head_length,row[1],10,NullS);
|
||||||
|
else if (opt_verbose == 1)
|
||||||
|
print_row(row[0],head_length,row[1],10,fields,8,NullS);
|
||||||
|
else
|
||||||
|
print_row(row[0],head_length,row[1],10,fields,8,rows,10,NullS);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
print_row(row[0],head_length, fields,8, rows,10, NullS);
|
{
|
||||||
|
if (!opt_verbose)
|
||||||
|
print_row(row[0],head_length,NullS);
|
||||||
|
else if (opt_verbose == 1)
|
||||||
|
print_row(row[0],head_length, fields,8, NullS);
|
||||||
|
else
|
||||||
|
print_row(row[0],head_length, fields,8, rows,10, NullS);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print_trailer(head_length,
|
print_trailer(head_length,
|
||||||
(opt_verbose > 0 ? 8 : 0),
|
(opt_table_type ? 10 : opt_verbose > 0 ? 8 : 0),
|
||||||
(opt_verbose > 1 ? 10 :0),
|
(opt_table_type ? (opt_verbose > 0 ? 8 : 0)
|
||||||
|
: (opt_verbose > 1 ? 10 :0)),
|
||||||
|
!opt_table_type ? 0 : opt_verbose > 1 ? 10 :0,
|
||||||
0);
|
0);
|
||||||
|
|
||||||
if (counter && opt_verbose)
|
if (counter && opt_verbose)
|
||||||
|
@ -222,6 +222,7 @@ FAILED_CASES=
|
|||||||
EXTRA_MASTER_OPT=""
|
EXTRA_MASTER_OPT=""
|
||||||
EXTRA_MYSQL_TEST_OPT=""
|
EXTRA_MYSQL_TEST_OPT=""
|
||||||
EXTRA_MYSQLDUMP_OPT=""
|
EXTRA_MYSQLDUMP_OPT=""
|
||||||
|
EXTRA_MYSQLSHOW_OPT=""
|
||||||
EXTRA_MYSQLBINLOG_OPT=""
|
EXTRA_MYSQLBINLOG_OPT=""
|
||||||
USE_RUNNING_SERVER=0
|
USE_RUNNING_SERVER=0
|
||||||
USE_NDBCLUSTER=@USE_NDBCLUSTER@
|
USE_NDBCLUSTER=@USE_NDBCLUSTER@
|
||||||
@ -453,6 +454,8 @@ while test $# -gt 0; do
|
|||||||
--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqltest.trace"
|
--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqltest.trace"
|
||||||
EXTRA_MYSQLDUMP_OPT="$EXTRA_MYSQLDUMP_OPT \
|
EXTRA_MYSQLDUMP_OPT="$EXTRA_MYSQLDUMP_OPT \
|
||||||
--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqldump.trace"
|
--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqldump.trace"
|
||||||
|
EXTRA_MYSQLSHOW_OPT="$EXTRA_MYSQLSHOW_OPT \
|
||||||
|
--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqlshow.trace"
|
||||||
EXTRA_MYSQLBINLOG_OPT="$EXTRA_MYSQLBINLOG_OPT \
|
EXTRA_MYSQLBINLOG_OPT="$EXTRA_MYSQLBINLOG_OPT \
|
||||||
--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqlbinlog.trace"
|
--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqlbinlog.trace"
|
||||||
EXTRA_MYSQL_CLIENT_TEST_OPT="--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysql_client_test.trace"
|
EXTRA_MYSQL_CLIENT_TEST_OPT="--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysql_client_test.trace"
|
||||||
@ -556,6 +559,11 @@ if [ x$SOURCE_DIST = x1 ] ; then
|
|||||||
else
|
else
|
||||||
MYSQL_DUMP="$BASEDIR/client/mysqldump"
|
MYSQL_DUMP="$BASEDIR/client/mysqldump"
|
||||||
fi
|
fi
|
||||||
|
if [ -f "$BASEDIR/client/.libs/mysqlshow" ] ; then
|
||||||
|
MYSQL_SHOW="$BASEDIR/client/.libs/mysqlshow"
|
||||||
|
else
|
||||||
|
MYSQL_SHOW="$BASEDIR/client/mysqlshow"
|
||||||
|
fi
|
||||||
if [ -f "$BASEDIR/client/.libs/mysqlbinlog" ] ; then
|
if [ -f "$BASEDIR/client/.libs/mysqlbinlog" ] ; then
|
||||||
MYSQL_BINLOG="$BASEDIR/client/.libs/mysqlbinlog"
|
MYSQL_BINLOG="$BASEDIR/client/.libs/mysqlbinlog"
|
||||||
else
|
else
|
||||||
@ -627,6 +635,7 @@ else
|
|||||||
fi
|
fi
|
||||||
MYSQL_TEST="$CLIENT_BINDIR/mysqltest"
|
MYSQL_TEST="$CLIENT_BINDIR/mysqltest"
|
||||||
MYSQL_DUMP="$CLIENT_BINDIR/mysqldump"
|
MYSQL_DUMP="$CLIENT_BINDIR/mysqldump"
|
||||||
|
MYSQL_SHOW="$CLIENT_BINDIR/mysqlshow"
|
||||||
MYSQL_BINLOG="$CLIENT_BINDIR/mysqlbinlog"
|
MYSQL_BINLOG="$CLIENT_BINDIR/mysqlbinlog"
|
||||||
MYSQLADMIN="$CLIENT_BINDIR/mysqladmin"
|
MYSQLADMIN="$CLIENT_BINDIR/mysqladmin"
|
||||||
WAIT_PID="$CLIENT_BINDIR/mysql_waitpid"
|
WAIT_PID="$CLIENT_BINDIR/mysql_waitpid"
|
||||||
@ -697,10 +706,11 @@ fi
|
|||||||
|
|
||||||
MYSQL_CLIENT_TEST="$MYSQL_CLIENT_TEST --no-defaults --testcase --user=root --socket=$MASTER_MYSOCK --port=$MYSQL_TCP_PORT --silent $EXTRA_MYSQL_CLIENT_TEST_OPT"
|
MYSQL_CLIENT_TEST="$MYSQL_CLIENT_TEST --no-defaults --testcase --user=root --socket=$MASTER_MYSOCK --port=$MYSQL_TCP_PORT --silent $EXTRA_MYSQL_CLIENT_TEST_OPT"
|
||||||
MYSQL_DUMP="$MYSQL_DUMP --no-defaults -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLDUMP_OPT"
|
MYSQL_DUMP="$MYSQL_DUMP --no-defaults -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLDUMP_OPT"
|
||||||
|
MYSQL_SHOW="$MYSQL_SHOW -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLSHOW_OPT"
|
||||||
MYSQL_BINLOG="$MYSQL_BINLOG --no-defaults --local-load=$MYSQL_TMP_DIR --character-sets-dir=$CHARSETSDIR $EXTRA_MYSQLBINLOG_OPT"
|
MYSQL_BINLOG="$MYSQL_BINLOG --no-defaults --local-load=$MYSQL_TMP_DIR --character-sets-dir=$CHARSETSDIR $EXTRA_MYSQLBINLOG_OPT"
|
||||||
MYSQL_FIX_SYSTEM_TABLES="$MYSQL_FIX_SYSTEM_TABLES --no-defaults --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD --basedir=$BASEDIR --bindir=$CLIENT_BINDIR --verbose"
|
MYSQL_FIX_SYSTEM_TABLES="$MYSQL_FIX_SYSTEM_TABLES --no-defaults --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD --basedir=$BASEDIR --bindir=$CLIENT_BINDIR --verbose"
|
||||||
MYSQL="$MYSQL --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD"
|
MYSQL="$MYSQL --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD"
|
||||||
export MYSQL MYSQL_DUMP MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES
|
export MYSQL MYSQL_DUMP MYSQL_SHOW MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES
|
||||||
export CLIENT_BINDIR MYSQL_CLIENT_TEST CHARSETSDIR
|
export CLIENT_BINDIR MYSQL_CLIENT_TEST CHARSETSDIR
|
||||||
export NDB_TOOLS_DIR
|
export NDB_TOOLS_DIR
|
||||||
export NDB_MGM
|
export NDB_MGM
|
||||||
@ -731,7 +741,7 @@ if [ -n "$DO_CLIENT_GDB" -o -n "$DO_GDB" ] ; then
|
|||||||
XTERM=`which xterm`
|
XTERM=`which xterm`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export MYSQL MYSQL_DUMP MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES CLIENT_BINDIR MASTER_MYSOCK
|
export MYSQL MYSQL_DUMP MYSQL_SHOW MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES CLIENT_BINDIR MASTER_MYSOCK
|
||||||
|
|
||||||
#++
|
#++
|
||||||
# Function Definitions
|
# Function Definitions
|
||||||
|
76
mysql-test/r/mysqlshow.result
Normal file
76
mysql-test/r/mysqlshow.result
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
CREATE TABLE t1 (a int);
|
||||||
|
INSERT INTO t1 VALUES (1),(2),(3);
|
||||||
|
CREATE TABLE t2 (a int, b int);
|
||||||
|
show tables;
|
||||||
|
Tables_in_test
|
||||||
|
t1
|
||||||
|
t2
|
||||||
|
select "--------------------" as "";
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
Database: test
|
||||||
|
+--------+
|
||||||
|
| Tables |
|
||||||
|
+--------+
|
||||||
|
| t1 |
|
||||||
|
| t2 |
|
||||||
|
+--------+
|
||||||
|
select "---- -v ------------" as "";
|
||||||
|
|
||||||
|
---- -v ------------
|
||||||
|
Database: test
|
||||||
|
+--------+----------+
|
||||||
|
| Tables | Columns |
|
||||||
|
+--------+----------+
|
||||||
|
| t1 | 1 |
|
||||||
|
| t2 | 2 |
|
||||||
|
+--------+----------+
|
||||||
|
2 rows in set.
|
||||||
|
|
||||||
|
select "---- -v -v ---------" as "";
|
||||||
|
|
||||||
|
---- -v -v ---------
|
||||||
|
Database: test
|
||||||
|
+--------+----------+------------+
|
||||||
|
| Tables | Columns | Total Rows |
|
||||||
|
+--------+----------+------------+
|
||||||
|
| t1 | 1 | 3 |
|
||||||
|
| t2 | 2 | 0 |
|
||||||
|
+--------+----------+------------+
|
||||||
|
2 rows in set.
|
||||||
|
|
||||||
|
select "----- -t -----------" as "";
|
||||||
|
|
||||||
|
----- -t -----------
|
||||||
|
Database: test
|
||||||
|
+--------+------------+
|
||||||
|
| Tables | table_type |
|
||||||
|
+--------+------------+
|
||||||
|
| t1 | BASE TABLE |
|
||||||
|
| t2 | BASE TABLE |
|
||||||
|
+--------+------------+
|
||||||
|
select "---- -v -t ---------" as "";
|
||||||
|
|
||||||
|
---- -v -t ---------
|
||||||
|
Database: test
|
||||||
|
+--------+------------+----------+
|
||||||
|
| Tables | table_type | Columns |
|
||||||
|
+--------+------------+----------+
|
||||||
|
| t1 | BASE TABLE | 1 |
|
||||||
|
| t2 | BASE TABLE | 2 |
|
||||||
|
+--------+------------+----------+
|
||||||
|
2 rows in set.
|
||||||
|
|
||||||
|
select "---- -v -v -t ------" as "";
|
||||||
|
|
||||||
|
---- -v -v -t ------
|
||||||
|
Database: test
|
||||||
|
+--------+------------+----------+------------+
|
||||||
|
| Tables | table_type | Columns | Total Rows |
|
||||||
|
+--------+------------+----------+------------+
|
||||||
|
| t1 | BASE TABLE | 1 | 3 |
|
||||||
|
| t2 | BASE TABLE | 2 | 0 |
|
||||||
|
+--------+------------+----------+------------+
|
||||||
|
2 rows in set.
|
||||||
|
|
||||||
|
DROP TABLE t1, t2;
|
20
mysql-test/t/mysqlshow.test
Normal file
20
mysql-test/t/mysqlshow.test
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#
|
||||||
|
## Bug #5036 mysqlshow is missing a column
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a int);
|
||||||
|
INSERT INTO t1 VALUES (1),(2),(3);
|
||||||
|
CREATE TABLE t2 (a int, b int);
|
||||||
|
show tables;
|
||||||
|
select "--------------------" as "";
|
||||||
|
--exec $MYSQL_SHOW test
|
||||||
|
select "---- -v ------------" as "";
|
||||||
|
--exec $MYSQL_SHOW test -v
|
||||||
|
select "---- -v -v ---------" as "";
|
||||||
|
--exec $MYSQL_SHOW test -v -v
|
||||||
|
select "----- -t -----------" as "";
|
||||||
|
--exec $MYSQL_SHOW test -t
|
||||||
|
select "---- -v -t ---------" as "";
|
||||||
|
--exec $MYSQL_SHOW test -v -t
|
||||||
|
select "---- -v -v -t ------" as "";
|
||||||
|
--exec $MYSQL_SHOW test -v -v -t
|
||||||
|
DROP TABLE t1, t2;
|
Reference in New Issue
Block a user