summaryrefslogtreecommitdiff
path: root/mysys/my_handler.c
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-02-16 10:31:05 +0200
committerunknown <monty@mysql.com>2004-02-16 10:31:05 +0200
commit0c259c54b062f065e375fa185556cdf7fd419c13 (patch)
treee792af64f95eba198633387e3b36f50f096c3001 /mysys/my_handler.c
parent70eef0cb05296b7c60c7dbc32811d306675e997a (diff)
parentd00fbce3083f11d071300447e11dab124debb2b7 (diff)
downloadmariadb-git-0c259c54b062f065e375fa185556cdf7fd419c13.tar.gz
Merge with public tree
client/mysqldump.c: Auto merged configure.in: Auto merged include/m_ctype.h: Auto merged include/m_string.h: Auto merged include/my_global.h: Auto merged mysql-test/r/ctype_utf8.result: Auto merged mysql-test/r/fulltext.result: Auto merged mysql-test/r/subselect.result: Auto merged mysql-test/t/fulltext.test: Auto merged mysql-test/t/grant.test: Auto merged mysql-test/t/subselect.test: Auto merged mysql-test/t/union.test: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/item.cc: Auto merged sql/item_func.cc: Auto merged sql/item_strfunc.cc: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged sql/share/english/errmsg.txt: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_string.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_yacc.yy: Auto merged strings/ctype-mb.c: Auto merged strings/ctype-simple.c: Auto merged mysql-test/r/warnings.result: Fix error numbers after merge sql/share/czech/errmsg.txt: Add missing ',' and fix typo sql/share/danish/errmsg.txt: Add missing ',' and fix typo sql/share/dutch/errmsg.txt: Add missing ',' and fix typo sql/share/estonian/errmsg.txt: Add missing ',' and fix typo sql/share/french/errmsg.txt: Add missing ',' and fix typo sql/share/german/errmsg.txt: Add missing ',' and fix typo sql/share/greek/errmsg.txt: Add missing ',' and fix typo sql/share/hungarian/errmsg.txt: Add missing ',' and fix typo sql/share/italian/errmsg.txt: Add missing ',' and fix typo sql/share/japanese/errmsg.txt: Add missing ',' and fix typo sql/share/korean/errmsg.txt: Add missing ',' and fix typo sql/share/norwegian-ny/errmsg.txt: Add missing ',' and fix typo sql/share/norwegian/errmsg.txt: Add missing ',' and fix typo sql/share/polish/errmsg.txt: Add missing ',' and fix typo sql/share/portuguese/errmsg.txt: Add missing ',' and fix typo sql/share/romanian/errmsg.txt: Add missing ',' and fix typo sql/share/russian/errmsg.txt: Add missing ',' and fix typo sql/share/slovak/errmsg.txt: Add missing ',' and fix typo sql/share/spanish/errmsg.txt: Add missing ',' and fix typo sql/share/swedish/errmsg.txt: Add missing ',' and fix typo sql/share/ukrainian/errmsg.txt: Add missing ',' and fix typo
Diffstat (limited to 'mysys/my_handler.c')
-rw-r--r--mysys/my_handler.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/mysys/my_handler.c b/mysys/my_handler.c
index 6ee6167d3c1..190c279aadf 100644
--- a/mysys/my_handler.c
+++ b/mysys/my_handler.c
@@ -9,7 +9,7 @@
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
-
+
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
@@ -184,12 +184,14 @@ int ha_key_cmp(register HA_KEYSEG *keyseg, register uchar *a,
break;
case HA_KEYTYPE_VARTEXT:
{
- int a_length,b_length,pack_length;
+ int a_length,full_a_length,b_length,full_b_length,pack_length;
get_key_length(a_length,a);
get_key_pack_length(b_length,pack_length,b);
+ full_a_length= a_length;
+ full_b_length= b_length;
next_key_length=key_length-b_length-pack_length;
- if (!(nextflag & (SEARCH_PREFIX | SEARCH_UPDATE)))
+ if ((nextflag & (SEARCH_FIND | SEARCH_UPDATE)) == SEARCH_FIND)
{
while (a_length && a[a_length-1] == ' ')
a_length--;
@@ -202,8 +204,8 @@ int ha_key_cmp(register HA_KEYSEG *keyseg, register uchar *a,
(my_bool) ((nextflag & SEARCH_PREFIX) &&
next_key_length <= 0))))
return ((keyseg->flag & HA_REVERSE_SORT) ? -flag : flag);
- a+=a_length;
- b+=b_length;
+ a+= full_a_length;
+ b+= full_b_length;
break;
}
break;
@@ -308,7 +310,7 @@ int ha_key_cmp(register HA_KEYSEG *keyseg, register uchar *a,
if (keyseg->flag & HA_REVERSE_SORT)
{
- swap(uchar*,a,b);
+ swap(uchar*,a,b);
swap_flag=1; /* Remember swap of a & b */
end= a+ (int) (end-b);
}