summaryrefslogtreecommitdiff
path: root/sql/partition_element.h
diff options
context:
space:
mode:
authorunknown <reggie@linux.site>2006-02-21 10:29:41 -0600
committerunknown <reggie@linux.site>2006-02-21 10:29:41 -0600
commitcf5cb1e9606fb698e2ec686afd489c73ad750419 (patch)
tree91c170047655fd6b83b3349a00d7c933e1515908 /sql/partition_element.h
parent010f9be50c0c0336dd0d108598f8c6423b57e209 (diff)
parentfc5f022ee156b47ad45e0f3d7de08a4f3e3fd7aa (diff)
downloadmariadb-git-cf5cb1e9606fb698e2ec686afd489c73ad750419.tar.gz
Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into linux.site:/home/reggie/work/mysql-5.1-bug15408 sql/ha_ndbcluster.cc: Auto merged sql/ha_partition.cc: Auto merged sql/handler.h: Auto merged sql/opt_range.cc: Auto merged sql/sql_show.cc: Auto merged
Diffstat (limited to 'sql/partition_element.h')
-rw-r--r--sql/partition_element.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/sql/partition_element.h b/sql/partition_element.h
new file mode 100644
index 00000000000..06007076405
--- /dev/null
+++ b/sql/partition_element.h
@@ -0,0 +1,70 @@
+/* Copyright (C) 2000,2004 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+#ifdef USE_PRAGMA_INTERFACE
+#pragma interface /* gcc class implementation */
+#endif
+
+/**
+ * An enum and a struct to handle partitioning and subpartitioning.
+ */
+enum partition_type {
+ NOT_A_PARTITION= 0,
+ RANGE_PARTITION,
+ HASH_PARTITION,
+ LIST_PARTITION
+};
+
+enum partition_state {
+ PART_NORMAL= 0,
+ PART_IS_DROPPED= 1,
+ PART_TO_BE_DROPPED= 2,
+ PART_TO_BE_ADDED= 3,
+ PART_TO_BE_REORGED= 4,
+ PART_REORGED_DROPPED= 5,
+ PART_CHANGED= 6,
+ PART_IS_CHANGED= 7,
+ PART_IS_ADDED= 8
+};
+
+class partition_element :public Sql_alloc {
+public:
+ List<partition_element> subpartitions;
+ List<longlong> list_val_list;
+ ulonglong part_max_rows;
+ ulonglong part_min_rows;
+ char *partition_name;
+ char *tablespace_name;
+ longlong range_value;
+ char* part_comment;
+ char* data_file_name;
+ char* index_file_name;
+ handlerton *engine_type;
+ enum partition_state part_state;
+ uint16 nodegroup_id;
+
+ partition_element()
+ : part_max_rows(0), part_min_rows(0), partition_name(NULL),
+ tablespace_name(NULL), range_value(0), part_comment(NULL),
+ data_file_name(NULL), index_file_name(NULL),
+ engine_type(NULL),part_state(PART_NORMAL),
+ nodegroup_id(UNDEF_NODEGROUP)
+ {
+ subpartitions.empty();
+ list_val_list.empty();
+ }
+ ~partition_element() {}
+};