[glom/mysql2] Revert "MySQL: Avoid affecting PostgreSQL field types."
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glom/mysql2] Revert "MySQL: Avoid affecting PostgreSQL field types."
- Date: Thu, 10 Jan 2013 22:57:52 +0000 (UTC)
commit 19e55126ab000dc591d015e743d6190a4c9b1910
Author: Murray Cumming <murrayc murrayc com>
Date: Thu Jan 10 23:32:27 2013 +0100
Revert "MySQL: Avoid affecting PostgreSQL field types."
This reverts commit fb8c1cc00e89c460ab7f7c1a20e97ebf866947d6.
ChangeLog | 9 ---------
glom/appwindow.cc | 2 +-
glom/libglom/db_utils.cc | 27 +++++++++++----------------
glom/libglom/db_utils.h | 2 +-
4 files changed, 13 insertions(+), 27 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 46c02be..f151a4f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,14 +1,5 @@
2013-01-06 Murray Cumming <murrayc murrayc com>
- MySQL: Avoid affecting PostgreSQL field types.
-
- * glom/libglom/db_utils.[h|cc]: create_table():
- Take the hosting mode so we can only do checks for
- relevant hosting modes.
- * glom/appwindow.cc: Adapt.
-
-2013-01-06 Murray Cumming <murrayc murrayc com>
-
MySQL: Use double instead of DECIMAL for numeric values.
* glom/libglom/db_utils.cc: create_table():
diff --git a/glom/appwindow.cc b/glom/appwindow.cc
index fceaaaa..7cb312a 100644
--- a/glom/appwindow.cc
+++ b/glom/appwindow.cc
@@ -1748,7 +1748,7 @@ bool AppWindow::recreate_database_from_example(bool& user_cancelled)
Document::type_vec_fields fields = pDocument->get_table_fields(table_info->get_name());
pulse_progress_message();
- const bool table_creation_succeeded = DbUtils::create_table(pDocument->get_hosting_mode(), table_info, fields);
+ const bool table_creation_succeeded = DbUtils::create_table(table_info, fields);
pulse_progress_message();
if(!table_creation_succeeded)
{
diff --git a/glom/libglom/db_utils.cc b/glom/libglom/db_utils.cc
index b1df9cb..24293df 100644
--- a/glom/libglom/db_utils.cc
+++ b/glom/libglom/db_utils.cc
@@ -278,7 +278,7 @@ bool recreate_database_from_document(Document* document, const sigc::slot<void>&
Document::type_vec_fields fields = document->get_table_fields(table_info->get_name());
progress();
- const bool table_creation_succeeded = create_table(document->get_hosting_mode(), table_info, fields);
+ const bool table_creation_succeeded = create_table(table_info, fields);
progress();
if(!table_creation_succeeded)
{
@@ -465,7 +465,7 @@ bool add_standard_tables(Document* document)
//Name, address, etc:
if(!get_table_exists_in_database(GLOM_STANDARD_TABLE_PREFS_TABLE_NAME))
{
- const bool test = create_table(document->get_hosting_mode(), prefs_table_info, pref_fields);
+ const bool test = create_table(prefs_table_info, pref_fields);
if(test)
{
@@ -535,7 +535,7 @@ bool add_standard_tables(Document* document)
field_next_value->set_glom_type(Field::TYPE_TEXT);
fields.push_back(field_next_value);
- const bool test = create_table(document->get_hosting_mode(), table_info, fields);
+ const bool test = create_table(table_info, fields);
if(!test)
{
std::cerr << G_STRFUNC << ": add_standard_tables(): create_table(autoincrements) failed." << std::endl;
@@ -1199,7 +1199,7 @@ bool create_table_with_default_fields(Document* document, const Glib::ustring& t
table_info->set_name(table_name);
table_info->set_title_original( Utils::title_from_string( table_name ) ); //Start with a title that might be appropriate.
- created = create_table(document->get_hosting_mode(), table_info, fields);
+ created = create_table(table_info, fields);
if(created)
{
@@ -1213,7 +1213,7 @@ bool create_table_with_default_fields(Document* document, const Glib::ustring& t
return created;
}
-bool create_table(Document::HostingMode hosting_mode, const sharedptr<const TableInfo>& table_info, const Document::type_vec_fields& fields_in)
+bool create_table(const sharedptr<const TableInfo>& table_info, const Document::type_vec_fields& fields_in)
{
//std::cout << "debug: " << G_STRFUNC << ": " << table_info->get_name() << ", title=" << table_info->get_title() << std::endl;
@@ -1246,17 +1246,12 @@ bool create_table(Document::HostingMode hosting_mode, const sharedptr<const Tabl
field->set_field_info(info); //TODO_Performance
Glib::ustring field_type = field->get_sql_type();
-
- if( (hosting_mode == Document::HOSTING_MODE_MYSQL_CENTRAL) ||
- (hosting_mode == Document::HOSTING_MODE_MYSQL_SELF) )
- {
- if(field_type == "varchar")
- field_type = "varchar(255)";
- else if(field_type == "VARBINARY")
- field_type = "blob"; //Because VARBINARY needs us to specify a size.
- else if(field_type == "DECIMAL")
- field_type = "double"; //Because DECIMAL with no parameters means no decimal points.
- }
+ if(field_type == "varchar")
+ field_type = "varchar(255)"; //For MySQL. //TODO: Avoid this for PostgreSQL
+ else if(field_type == "VARBINARY")
+ field_type = "blob"; //For MySQL.
+ else if(field_type == "DECIMAL")
+ field_type = "double"; //For MySQL, because DECIMAL with no parameters means no decimal points.
Glib::ustring sql_field_description = escape_sql_id(field->get_name()) + " " + field_type;
diff --git a/glom/libglom/db_utils.h b/glom/libglom/db_utils.h
index 3d05c17..408296b 100644
--- a/glom/libglom/db_utils.h
+++ b/glom/libglom/db_utils.h
@@ -79,7 +79,7 @@ type_vec_strings get_table_names_from_database(bool ignore_system_tables = false
bool get_table_exists_in_database(const Glib::ustring& table_name);
-bool create_table(Document::HostingMode hosting_mode, const sharedptr<const TableInfo>& table_info, const Document::type_vec_fields& fields);
+bool create_table(const sharedptr<const TableInfo>& table_info, const Document::type_vec_fields& fields);
/// Also saves the table information in the document:
bool create_table_with_default_fields(Document* document, const Glib::ustring& table_name);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]