From 61ccb631bb86cc9c8fc25151aad27a4b99f15b7f Mon Sep 17 00:00:00 2001 From: "heikki@hundin.mysql.fi" <> Date: Wed, 19 Feb 2003 19:38:38 +0200 Subject: [PATCH] row0sel.c: Print a warning if MySQL uses a partial-field key value prefix in a search; that would not work if the search flag would happen to be HA_READ_PREFIX_LAST --- innobase/row/row0sel.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/innobase/row/row0sel.c b/innobase/row/row0sel.c index ea5b3020c08..ef12bd9362a 100644 --- a/innobase/row/row0sel.c +++ b/innobase/row/row0sel.c @@ -1926,7 +1926,19 @@ row_sel_convert_mysql_key_to_innobase( if (key_ptr > key_end) { /* The last field in key was not a complete - field but a prefix of it */ + field but a prefix of it. + + Print a warning about this! HA_READ_PREFIX_LAST + does not currently work in InnoDB with partial-field + key value prefixes. Since MySQL currently uses a + padding trick to calculate LIKE 'abc%' type queries + there should never be partial-field prefixes + in searches. */ + + ut_print_timestamp(stderr); + + fprintf(stderr, + " InnoDB: Warning: using a partial-field key prefix in search\n"); ut_ad(dfield_get_len(dfield) != UNIV_SQL_NULL);