diff options
author | unknown <monty@mysql.com> | 2005-04-07 19:24:14 +0300 |
---|---|---|
committer | unknown <monty@mysql.com> | 2005-04-07 19:24:14 +0300 |
commit | e10d81448ddc949b66ca85459b6f22bf1eda27fe (patch) | |
tree | a13c6e5a064f49577a196e35cf5333975a36f347 /sql/handler.h | |
parent | 99c0dd3bc6f55be3e144129025a87a26c9470957 (diff) | |
download | mariadb-git-e10d81448ddc949b66ca85459b6f22bf1eda27fe.tar.gz |
Moved some old test and added a new test to only be run with mysql-test-run --big
Fixed warnings by valgrind for sum_distinct.test
Enable buffered-record-reads after filesort for InnoDB tables with short primary key
Enabled sort-with-data for MyISAM temporary files
BitKeeper/etc/ignore:
added tools/mysqltestmanager
client/mysqltest.c:
Ensure that BIG_TEST is always set to 0 or 1
Fix the 'eval' also honors 'require'
mysql-test/mysql-test-run.sh:
Enlarge InnoDB table space for --big tests
mysql-test/r/heap.result:
Fix after adding more optimzation for filsort
mysql-test/r/sum_distinct.result:
Move 'slow' part of test to sum_distinct-big.test
mysql-test/t/heap.test:
Ensure that results are indpendent of optimizer
mysql-test/t/sum_distinct.test:
Move 'slow' part of test to sum_distinct-big.test
sql/filesort.cc:
Use 'sort with data' also on temporary files and with INSERT ... SELECT
sql/ha_innodb.h:
Remove HA_FAST_KEY_READ to enable buffered-record-reads after filesort
sql/handler.h:
More comments
sql/mysql_priv.h:
A bit smaller limit for cache for buffered-records-read (after testing)
sql/records.cc:
Don't use buffered-record-reads if ref_length > MAX_REFLENGTH
Fixed warning from valgrind in 'sum_distinct'
sql/sql_select.cc:
Ensure that tempory tables has query_id set for all fields
(Required for sort-with-data to work on temp files)
Diffstat (limited to 'sql/handler.h')
-rw-r--r-- | sql/handler.h | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/sql/handler.h b/sql/handler.h index 3751af29194..c9a7d17e6dc 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -47,14 +47,22 @@ #define HA_ADMIN_WRONG_CHECKSUM -8 /* Bits in table_flags() to show what database can do */ -#define HA_READ_RND_SAME (1 << 0) /* can switch index during the scan - with ::rnd_same() - not used yet. - see mi_rsame/heap_rsame/myrg_rsame */ + +/* + Can switch index during the scan with ::rnd_same() - not used yet. + see mi_rsame/heap_rsame/myrg_rsame +*/ +#define HA_READ_RND_SAME (1 << 0) #define HA_TABLE_SCAN_ON_INDEX (1 << 2) /* No separate data/index file */ #define HA_REC_NOT_IN_SEQ (1 << 3) /* ha_info don't return recnumber; It returns a position to ha_r_rnd */ #define HA_CAN_GEOMETRY (1 << 4) -#define HA_FAST_KEY_READ (1 << 5) /* no need for a record cache in filesort */ +/* + Reading keys in random order is as fast as reading keys in sort order + (Used in records.cc to decide if we should use a record cache and by + filesort to decide if we should sort key + data or key + pointer-to-row +*/ +#define HA_FAST_KEY_READ (1 << 5) #define HA_NULL_IN_KEY (1 << 7) /* One can have keys with NULL */ #define HA_DUPP_POS (1 << 8) /* ha_position() gives dup row */ #define HA_NO_BLOBS (1 << 9) /* Doesn't support blobs */ @@ -62,9 +70,11 @@ #define HA_AUTO_PART_KEY (1 << 11) /* auto-increment in multi-part key */ #define HA_REQUIRE_PRIMARY_KEY (1 << 12) /* .. and can't create a hidden one */ #define HA_NOT_EXACT_COUNT (1 << 13) -#define HA_CAN_INSERT_DELAYED (1 << 14) /* only handlers with table-level locks - need no special code to support - INSERT DELAYED */ +/* + INSERT_DELAYED only works with handlers that uses MySQL internal table + level locks +*/ +#define HA_CAN_INSERT_DELAYED (1 << 14) #define HA_PRIMARY_KEY_IN_READ_INDEX (1 << 15) #define HA_NOT_DELETE_WITH_CACHE (1 << 18) #define HA_NO_PREFIX_CHAR_KEYS (1 << 20) |