glom r1986 - in trunk: . glom/mode_design/fields
- From: murrayc svn gnome org
- To: svn-commits-list gnome org
- Subject: glom r1986 - in trunk: . glom/mode_design/fields
- Date: Fri, 13 Mar 2009 16:33:25 +0000 (UTC)
Author: murrayc
Date: Fri Mar 13 16:33:25 2009
New Revision: 1986
URL: http://svn.gnome.org/viewvc/glom?rev=1986&view=rev
Log:
2009-03-13 Murray Cumming <murrayc murrayc com>
* glom/mode_design/fields/box_db_table_definition.
field_has_null_values(): Do not warn about a false failure.
Modified:
trunk/ChangeLog
trunk/glom/mode_design/fields/box_db_table_definition.cc
Modified: trunk/glom/mode_design/fields/box_db_table_definition.cc
==============================================================================
--- trunk/glom/mode_design/fields/box_db_table_definition.cc (original)
+++ trunk/glom/mode_design/fields/box_db_table_definition.cc Fri Mar 13 16:33:25 2009
@@ -623,24 +623,28 @@
bool Box_DB_Table_Definition::field_has_null_values(const sharedptr<const Field>& field)
{
+ //TODO: Use SQL paramters?
//Note that "= Null" doesn't work, though it doesn't error either.
//Note also that SELECT COUNT always returns 0 if all the values are NULL, so we can't use that to be more efficient.
- const Glib::ustring sql_query = "SELECT \"" + field->get_name() + "\" FROM \"" + m_table_name + "\" WHERE \"" + m_table_name + "\".\"" + field->get_name() + "\" IS NULL ";
+ const Glib::ustring sql_query = "SELECT \"" + field->get_name() + "\" FROM \"" + m_table_name + "\" WHERE \"" + m_table_name + "\".\"" + field->get_name() + "\" IS NULL LIMIT 1";
//std::cout << "sql_query: " << sql_query << std::endl;
long null_count = 0;
Glib::RefPtr<Gnome::Gda::DataModel> datamodel = query_execute_select(sql_query);
- if(datamodel && datamodel->get_n_rows() && datamodel->get_n_columns())
+ if(datamodel)
{
- null_count = datamodel->get_n_rows();
- //std::cout << "debug: null_count = " << null_count << std::endl;
+ if(datamodel->get_n_rows() && datamodel->get_n_columns())
+ {
+ null_count = datamodel->get_n_rows();
+ //std::cout << "debug: null_count = " << null_count << std::endl;
+ }
}
else
{
- g_warning("Box_DB_Table_Definition::field_has_null_values(): SELECT COUNT() failed.");
+ std::cerr << "Box_DB_Table_Definition::field_has_null_values(): query failed: " << sql_query << std::endl;
}
- return null_count > 0;
+ return null_count > 0;
}
bool Box_DB_Table_Definition::field_has_non_unique_values(const sharedptr<const Field>& field)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]