summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2005-04-07 19:24:14 +0300
committerunknown <monty@mysql.com>2005-04-07 19:24:14 +0300
commite10d81448ddc949b66ca85459b6f22bf1eda27fe (patch)
treea13c6e5a064f49577a196e35cf5333975a36f347 /sql/handler.h
parent99c0dd3bc6f55be3e144129025a87a26c9470957 (diff)
downloadmariadb-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.h24
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)