summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-06-18 03:02:29 +0300
committerunknown <monty@mysql.com>2004-06-18 03:02:29 +0300
commit7d52eabb39d1733f4f10cac0f8f4d0555346ed9a (patch)
treebbef0bb6fad673089610709f1981fd9f249b7833 /myisam
parent400648ebd0757caf9ef1831aa8de01570f5fb8fe (diff)
downloadmariadb-git-7d52eabb39d1733f4f10cac0f8f4d0555346ed9a.tar.gz
Fixed some byte order bugs with prepared statements on machines with high-byte-first. (Bug #4173)
Fixed problem with NULL and derived tables (Bug #4097) Cleanup of new pushed code BitKeeper/etc/ignore: added mysql-test/ndb/ndbcluster client/mysqltest.c: simple cleanup innobase/os/os0file.c: fix for netware libmysql/libmysql.c: Fixed some byte order bugs with prepared statements on machines with high-byte-first. (Bug #4173) myisam/ft_boolean_search.c: Comment cleanup myisam/mi_check.c: Removed not needed check (check is done in check_index()) myisam/mi_unique.c: crc must be of type ha_checksum. myisam/myisamchk.c: Portability fix. mysql-test/mysql-test-run.sh: Simple cleanup mysql-test/r/subselect.result: Test problem with NULL and derived tables (Bug #4097) mysql-test/t/subselect.test: Test problem with NULL and derived tables (Bug #4097) sql/mysqld.cc: Remove not used defines sql/sql_select.cc: Fixed problem with NULL and derived tables (Bug #4097) Indentation fixes sql/sql_string.cc: Code cleanup sql/sql_yacc.yy: Allow one to use DROP PREPARE ...
Diffstat (limited to 'myisam')
-rw-r--r--myisam/ft_boolean_search.c9
-rw-r--r--myisam/mi_check.c2
-rw-r--r--myisam/mi_unique.c9
-rw-r--r--myisam/myisamchk.c8
4 files changed, 15 insertions, 13 deletions
diff --git a/myisam/ft_boolean_search.c b/myisam/ft_boolean_search.c
index cac4d08f5d6..196cb5c21fb 100644
--- a/myisam/ft_boolean_search.c
+++ b/myisam/ft_boolean_search.c
@@ -53,10 +53,11 @@ static double _nwghts[11]=
-3.796875000000000};
static double *nwghts=_nwghts+5; /* nwghts[i] = -0.5*1.5**i */
-#define FTB_FLAG_TRUNC 1 /* */
-#define FTB_FLAG_YES 2 /* no two from these three */
-#define FTB_FLAG_NO 4 /* YES, NO, WONLY */
-#define FTB_FLAG_WONLY 8 /* should be _ever_ set both */
+#define FTB_FLAG_TRUNC 1
+/* At most one of the following flags can be set */
+#define FTB_FLAG_YES 2
+#define FTB_FLAG_NO 4
+#define FTB_FLAG_WONLY 8
typedef struct st_ftb_expr FTB_EXPR;
struct st_ftb_expr
diff --git a/myisam/mi_check.c b/myisam/mi_check.c
index 96a26fd90f1..052fa55a559 100644
--- a/myisam/mi_check.c
+++ b/myisam/mi_check.c
@@ -376,8 +376,6 @@ int chk_key(MI_CHECK *param, register MI_INFO *info)
for (key= 0,keyinfo= &share->keyinfo[0]; key < share->base.keys ;
rec_per_key_part+=keyinfo->keysegs, key++, keyinfo++)
{
- if (*killed_ptr(param))
- DBUG_RETURN(-1);
param->key_crc[key]=0;
if (!(((ulonglong) 1 << key) & share->state.key_map))
{
diff --git a/myisam/mi_unique.c b/myisam/mi_unique.c
index 06d50e6905b..77e967e52e2 100644
--- a/myisam/mi_unique.c
+++ b/myisam/mi_unique.c
@@ -69,7 +69,7 @@ my_bool mi_check_unique(MI_INFO *info, MI_UNIQUEDEF *def, byte *record,
ha_checksum mi_unique_hash(MI_UNIQUEDEF *def, const byte *record)
{
const byte *pos, *end;
- ulong crc= 0;
+ ha_checksum crc= 0;
ulong seed= 4;
HA_KEYSEG *keyseg;
@@ -109,8 +109,11 @@ ha_checksum mi_unique_hash(MI_UNIQUEDEF *def, const byte *record)
end= pos+length;
if (type == HA_KEYTYPE_TEXT || type == HA_KEYTYPE_VARTEXT)
{
+ ulong tmp= 0;
keyseg->charset->coll->hash_sort(keyseg->charset,
- (const uchar*) pos, length, &crc, &seed);
+ (const uchar*) pos, length, &tmp,
+ &seed);
+ crc^= tmp;
}
else
while (pos != end)
@@ -118,7 +121,7 @@ ha_checksum mi_unique_hash(MI_UNIQUEDEF *def, const byte *record)
(((uchar) *(uchar*) pos++))) +
(crc >> (8*sizeof(ha_checksum)-8));
}
- return (ha_checksum)crc;
+ return crc;
}
/*
diff --git a/myisam/myisamchk.c b/myisam/myisamchk.c
index ef4b7a5ff87..c4b5acadc92 100644
--- a/myisam/myisamchk.c
+++ b/myisam/myisamchk.c
@@ -362,13 +362,13 @@ static void usage(void)
this option is deprecated; you can set variables\n\
directly with '--variable-name=value'.\n\
-t, --tmpdir=path Path for temporary files. Multiple paths can be\n\
- specified, separated by "
+ specified, separated by ");
#if defined( __WIN__) || defined(OS2) || defined(__NETWARE__)
- "semicolon (;)"
+ puts("semicolon (;)");
#else
- "colon (:)"
+ puts("colon (:)");
#endif
- ", they will be used\n\
+ puts(", they will be used\n\
in a round-robin fashion.\n\
-s, --silent Only print errors. One can use two -s to make\n\
myisamchk very silent.\n\