summaryrefslogtreecommitdiff
path: root/sql/partition_info.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/partition_info.cc')
-rw-r--r--sql/partition_info.cc26
1 files changed, 25 insertions, 1 deletions
diff --git a/sql/partition_info.cc b/sql/partition_info.cc
index a0d09557b81..cd17e3366cf 100644
--- a/sql/partition_info.cc
+++ b/sql/partition_info.cc
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
+/* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
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
@@ -2550,6 +2550,30 @@ void partition_info::print_debug(const char *str, uint *value)
DBUG_PRINT("info", ("parser: %s", str));
DBUG_VOID_RETURN;
}
+
+bool has_external_data_or_index_dir(partition_info &pi)
+{
+ List_iterator<partition_element> part_it(pi.partitions);
+ for (partition_element *part= part_it++; part; part= part_it++)
+ {
+ if (part->data_file_name != NULL || part->index_file_name != NULL)
+ {
+ return true;
+ }
+ List_iterator<partition_element> subpart_it(part->subpartitions);
+ for (const partition_element *subpart= subpart_it++;
+ subpart;
+ subpart= subpart_it++)
+ {
+ if (subpart->data_file_name != NULL || subpart->index_file_name != NULL)
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
#else /* WITH_PARTITION_STORAGE_ENGINE */
/*
For builds without partitioning we need to define these functions