summaryrefslogtreecommitdiff
path: root/include/myisam.h
diff options
context:
space:
mode:
authorunknown <sergefp@mysql.com>2005-09-21 02:18:29 +0400
committerunknown <sergefp@mysql.com>2005-09-21 02:18:29 +0400
commita2a8216b2061de4cf0c417362aa9436787cca3cb (patch)
treecfdbd7cf52b7834c855c3a89be4c09b7a5ff229f /include/myisam.h
parent1ac26b4a6cfd5cf72b39e4fda31d2bb114463ad8 (diff)
downloadmariadb-git-a2a8216b2061de4cf0c417362aa9436787cca3cb.tar.gz
BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index
statistics (like 4.0 did) (patch #3, with review #1 & #2 feedback addressed) include/myisam.h: BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics myisam/mi_check.c: BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics myisam/myisamchk.c: BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics mysql-test/r/myisam.result: BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics mysql-test/t/myisam.test: BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics sql/ha_myisam.cc: BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics sql/handler.h: BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics sql/mysqld.cc: BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics sql/set_var.cc: BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics sql/sql_class.h: BUG#12232: Add a server option to treat NULL values as equal when calculating MyISAM index statistics
Diffstat (limited to 'include/myisam.h')
-rw-r--r--include/myisam.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/myisam.h b/include/myisam.h
index 6d097770646..e276d4efdff 100644
--- a/include/myisam.h
+++ b/include/myisam.h
@@ -311,6 +311,20 @@ typedef struct st_sort_key_blocks /* Used when sorting */
} SORT_KEY_BLOCKS;
+/*
+ MyISAM supports several statistics collection methods. Currently statistics
+ collection method is not stored in MyISAM file and has to be specified for
+ each table analyze/repair operation in MI_CHECK::stats_method.
+*/
+
+typedef enum
+{
+ /* Treat NULLs as inequal when collecting statistics (default for 4.1/5.0) */
+ MI_STATS_METHOD_NULLS_NOT_EQUAL,
+ /* Treat NULLs as equal when collecting statistics (like 4.0 did) */
+ MI_STATS_METHOD_NULLS_EQUAL
+} enum_mi_stats_method;
+
typedef struct st_mi_check_param
{
ulonglong auto_increment_value;
@@ -341,6 +355,7 @@ typedef struct st_mi_check_param
void *thd;
char *db_name,*table_name;
char *op_name;
+ enum_mi_stats_method stats_method;
} MI_CHECK;
typedef struct st_sort_ft_buf