summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <evgen@moonbone.local>2005-08-15 13:02:29 +0400
committerunknown <evgen@moonbone.local>2005-08-15 13:02:29 +0400
commit9c18002f332bc7da2c6a8bcbca85a56e1d2a5ead (patch)
tree903b95996a047e8e8bb734c2ee05d356f332c6d7
parent98da6d5ffbaf00dfc9f2b3d18bbda665cf3fd67e (diff)
downloadmariadb-git-9c18002f332bc7da2c6a8bcbca85a56e1d2a5ead.tar.gz
Fix bug #10802 Index is not used if table using BDB engine on HP-UX
HP-UX compiler was generating code which makes wrong conversion from double to ulonglong which results in not using index in some cases. Changed type cast operators odrer with which generated code makes proper conversion. sql/ha_berkeley.cc: Fix bug #10802 Index is not used if table using BDB engine on HP-UX mysql-test/include/varchar.inc: Test case for bug #10802 "Index is not used if table using BDB engine on HP-UX" is same as for bug #9489
-rw-r--r--mysql-test/include/varchar.inc1
-rw-r--r--sql/ha_berkeley.cc2
2 files changed, 2 insertions, 1 deletions
diff --git a/mysql-test/include/varchar.inc b/mysql-test/include/varchar.inc
index 13b4315f2b8..70b563e871c 100644
--- a/mysql-test/include/varchar.inc
+++ b/mysql-test/include/varchar.inc
@@ -229,6 +229,7 @@ drop table t1;
#
# Bug #9489: problem with hash indexes
+# Bug #10802: Index is not used if table using BDB engine on HP-UX
#
create table t1(a int, b varchar(12), key ba(b, a));
diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc
index 793029ab4c7..4a7585d800e 100644
--- a/sql/ha_berkeley.cc
+++ b/sql/ha_berkeley.cc
@@ -2150,7 +2150,7 @@ ha_rows ha_berkeley::records_in_range(uint keynr, key_range *start_key,
end_pos=end_range.less+end_range.equal;
rows=(end_pos-start_pos)*records;
DBUG_PRINT("exit",("rows: %g",rows));
- DBUG_RETURN(rows <= 1.0 ? (ha_rows) 1 : (ha_rows) rows);
+ DBUG_RETURN((ha_rows)(rows <= 1.0 ? 1 : rows));
}