[glom/mysql: 15/21] MySQL: Do not try to insert image examples.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glom/mysql: 15/21] MySQL: Do not try to insert image examples.
- Date: Fri, 11 Jan 2013 11:32:29 +0000 (UTC)
commit 09f06f8da4c041b3efba223d8f0c3dea298a6ba5
Author: Murray Cumming <murrayc murrayc com>
Date: Sat Jan 5 15:01:41 2013 +0100
MySQL: Do not try to insert image examples.
glom/libglom/db_utils.cc | 15 ++++++++++++++-
.../test_selfhosting_new_from_example_operator.cc | 7 +++++++
2 files changed, 21 insertions(+), 1 deletions(-)
---
diff --git a/glom/libglom/db_utils.cc b/glom/libglom/db_utils.cc
index 12280a9..83c45f4 100644
--- a/glom/libglom/db_utils.cc
+++ b/glom/libglom/db_utils.cc
@@ -1585,7 +1585,7 @@ bool insert_example_data(Document* document, const Glib::ustring& table_name)
//Get field names:
- Document::type_vec_fields vec_fields = document->get_table_fields(table_name);
+ const Document::type_vec_fields vec_fields = document->get_table_fields(table_name);
//Actually insert the data:
//std::cout << "debug: " << G_STRFUNC << ": number of rows of data: " << vec_rows.size() << std::endl;
@@ -1603,6 +1603,8 @@ bool insert_example_data(Document* document, const Glib::ustring& table_name)
//std::cout << "DEBUG: row_data size = " << row_data.size() << ", (fields size= " << vec_fields.size() << " )" << std::endl;
+ const Document::HostingMode hosting_mode = document->get_hosting_mode();
+
Glib::RefPtr<Gnome::Gda::SqlBuilder> builder = Gnome::Gda::SqlBuilder::create(Gnome::Gda::SQL_STATEMENT_INSERT);
builder->set_table(table_name);
for(unsigned int i = 0; i < row_data.size(); ++i) //TODO_Performance: Avoid calling size() so much.
@@ -1616,6 +1618,17 @@ bool insert_example_data(Document* document, const Glib::ustring& table_name)
break;
}
+ if(field->get_glom_type() == Field::TYPE_IMAGE)
+ {
+ if((hosting_mode == Document::HOSTING_MODE_MYSQL_CENTRAL) ||
+ (hosting_mode == Document::HOSTING_MODE_MYSQL_SELF))
+ {
+ //TODO: See https://bugzilla.gnome.org/show_bug.cgi?id=691099
+ std::cerr << G_STRFUNC << ": Skipping Image field because libgda does not support it for MySQL." << std::endl;
+ break;
+ }
+ }
+
builder->add_field_value(field->get_name(), row_data[i]);
}
diff --git a/tests/test_selfhosting_new_from_example_operator.cc b/tests/test_selfhosting_new_from_example_operator.cc
index c603fc5..d68114f 100644
--- a/tests/test_selfhosting_new_from_example_operator.cc
+++ b/tests/test_selfhosting_new_from_example_operator.cc
@@ -68,6 +68,13 @@ static bool test(Glom::Document::HostingMode hosting_mode)
return false;
}
+ //TODO_MySQL: Implement groups/users code.
+ if(hosting_mode == Glom::Document::HOSTING_MODE_MYSQL_SELF)
+ {
+ test_selfhosting_cleanup(false /* do not delete the file. */);
+ return true;
+ }
+
//Add an operator user:
const Glib::ustring operator_group_name = "personnel_department";
const Glom::DbUtils::type_vec_strings group_list =
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]