diff options
author | monty@mysql.com <> | 2004-03-25 15:05:01 +0200 |
---|---|---|
committer | monty@mysql.com <> | 2004-03-25 15:05:01 +0200 |
commit | ebc3b3afac575b2c2a3e89823dfba217436a85c4 (patch) | |
tree | 27e5290a14e7d3e6c7aaced5b2ce86546de4721e /sql/ha_heap.cc | |
parent | 042af556d57f305734e64c7aa047e4709288f5bd (diff) | |
download | mariadb-git-ebc3b3afac575b2c2a3e89823dfba217436a85c4.tar.gz |
BTREE-indexes in HEAP tables can now be used to optimize ORDER BY
Don't read character set files if we are using only the default charset. In most cases the user will not anymore get a warning about missing character set files
Compare strings with space extend instead of space strip. Now the following comparisons holds: "a" == "a " and "a\t" < "a". (Bug #3152).
Note: Because of the above fix, one has to do a REPAIR on any table that has an ascii character < 32 last in a CHAR/VARCHAR/TEXT columns.
Diffstat (limited to 'sql/ha_heap.cc')
-rw-r--r-- | sql/ha_heap.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/ha_heap.cc b/sql/ha_heap.cc index 807b6e35a29..c84f0da0d25 100644 --- a/sql/ha_heap.cc +++ b/sql/ha_heap.cc @@ -44,6 +44,16 @@ int ha_heap::open(const char *name, int mode, uint test_if_locked) } } ref_length= sizeof(HEAP_PTR); + if (file) + { + /* Initialize variables for the opened table */ + btree_keys.clear_all(); + for (uint i= 0 ; i < table->keys ; i++) + { + if (table->key_info[i].algorithm == HA_KEY_ALG_BTREE) + btree_keys.set_bit(i); + } + } return (file ? 0 : 1); } |