summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2005-04-27 17:16:08 +0300
committerunknown <monty@mysql.com>2005-04-27 17:16:08 +0300
commit0e1e0ddf23a9aa89ee89022bd018f3eb47e84d86 (patch)
tree1659e377a1ee83ee3fe2a8d2ccbd1ec06f8643ee
parent81e8630e2fb55dbd4da7cf4e4c20b44223d80857 (diff)
downloadmariadb-git-0e1e0ddf23a9aa89ee89022bd018f3eb47e84d86.tar.gz
mysqladmin extended-status now displays global status
Fixed problem with NULL in VARCHAR/BLOB keys for multi-part keys where VARCHAR/BLOB is first part client/mysqladmin.cc: Show GLOBAL status myisam/mi_key.c: Fixed problem with NULL in VARCHAR/BLOB keys for multi-part keys where VARCHAR/BLOB is first part (Ramil will soon push test cases) sql/handler.cc: Indentation fix tests/mysql_client_test.c: Portability fixes
-rw-r--r--client/mysqladmin.cc2
-rw-r--r--myisam/mi_key.c3
-rw-r--r--sql/handler.cc7
-rw-r--r--tests/mysql_client_test.c7
4 files changed, 12 insertions, 7 deletions
diff --git a/client/mysqladmin.cc b/client/mysqladmin.cc
index 24fe14b6675..c6274e499ab 100644
--- a/client/mysqladmin.cc
+++ b/client/mysqladmin.cc
@@ -727,7 +727,7 @@ static int execute_commands(MYSQL *mysql,int argc, char **argv)
void (*func) (MYSQL_RES*, MYSQL_ROW, uint);
new_line = 1;
- if (mysql_query(mysql, "show status") ||
+ if (mysql_query(mysql, "show /*!50002 GLOBAL */ status") ||
!(res = mysql_store_result(mysql)))
{
my_printf_error(0, "unable to show status; error: '%s'", MYF(ME_BELL),
diff --git a/myisam/mi_key.c b/myisam/mi_key.c
index ab5ddd3a378..d7d10e116aa 100644
--- a/myisam/mi_key.c
+++ b/myisam/mi_key.c
@@ -242,7 +242,10 @@ uint _mi_pack_key(register MI_INFO *info, uint keynr, uchar *key, uchar *old,
{
k_length-=length;
if (keyseg->flag & (HA_VAR_LENGTH_PART | HA_BLOB_PART))
+ {
k_length-=2; /* Skip length */
+ old+= 2;
+ }
continue; /* Found NULL */
}
}
diff --git a/sql/handler.cc b/sql/handler.cc
index dc63b4b038f..50f82eb5753 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -175,9 +175,10 @@ enum db_type ha_checktype(enum db_type database_type)
return ((enum db_type) thd->variables.table_type != DB_TYPE_UNKNOWN ?
(enum db_type) thd->variables.table_type :
- (enum db_type) global_system_variables.table_type !=
- DB_TYPE_UNKNOWN ?
- (enum db_type) global_system_variables.table_type : DB_TYPE_MYISAM);
+ ((enum db_type) global_system_variables.table_type !=
+ DB_TYPE_UNKNOWN ?
+ (enum db_type) global_system_variables.table_type : DB_TYPE_MYISAM)
+ );
} /* ha_checktype */
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c
index 2dd5fda6f05..ae000a4273d 100644
--- a/tests/mysql_client_test.c
+++ b/tests/mysql_client_test.c
@@ -7046,6 +7046,7 @@ static void test_set_option()
bug #89 (reported by mark@mysql.com)
*/
+#ifndef EMBEDDED_LIBRARY
static void test_prepare_grant()
{
int rc;
@@ -7138,7 +7139,7 @@ static void test_prepare_grant()
}
}
-
+#endif
/*
Test a crash when invalid/corrupted .frm is used in the
@@ -12598,7 +12599,7 @@ static void test_bug8330()
const char *stmt_text;
MYSQL_STMT *stmt[2];
int i, rc;
- char *query= "select a,b from t1 where a=?";
+ const char *query= "select a,b from t1 where a=?";
MYSQL_BIND bind[2];
long lval[2];
@@ -12789,7 +12790,7 @@ static void test_bug8722()
}
-MYSQL_STMT *open_cursor(char *query)
+MYSQL_STMT *open_cursor(const char *query)
{
int rc;
const ulong type= (ulong)CURSOR_TYPE_READ_ONLY;