r17237 - gnucash/branches/gda-dev2/src/backend/sql - 1) Save commodity-scu for an account

Phil Longstaff plongstaff at cvs.gnucash.org
Thu Jun 19 20:05:03 EDT 2008


Author: plongstaff
Date: 2008-06-19 20:05:02 -0400 (Thu, 19 Jun 2008)
New Revision: 17237
Trac: http://svn.gnucash.org/trac/changeset/17237

Modified:
   gnucash/branches/gda-dev2/src/backend/sql/gnc-account-sql.c
   gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-sql.c
Log:
1) Save commodity-scu for an account
2) Allow int values to be gotten via g_object_get()



Modified: gnucash/branches/gda-dev2/src/backend/sql/gnc-account-sql.c
===================================================================
--- gnucash/branches/gda-dev2/src/backend/sql/gnc-account-sql.c	2008-06-16 22:39:35 UTC (rev 17236)
+++ gnucash/branches/gda-dev2/src/backend/sql/gnc-account-sql.c	2008-06-20 00:05:02 UTC (rev 17237)
@@ -62,6 +62,7 @@
     { "name",           CT_STRING,       ACCOUNT_MAX_NAME_LEN,        COL_NNUL,          "name" },
     { "account_type",   CT_STRING,       ACCOUNT_MAX_TYPE_LEN,        COL_NNUL,          NULL, ACCOUNT_TYPE_ },
     { "commodity_guid", CT_COMMODITYREF, 0,                           COL_NNUL,          "commodity" },
+	{ "commodity_scu",  CT_INT,          0,                           COL_NNUL,          "commodity-scu" },
     { "parent_guid",    CT_GUID,         0,                           0,                 NULL, NULL, get_parent, set_parent },
     { "code",           CT_STRING,       ACCOUNT_MAX_CODE_LEN,        0,                 "code" },
     { "description",    CT_STRING,       ACCOUNT_MAX_DESCRIPTION_LEN, 0,                 "description" },

Modified: gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-sql.c
===================================================================
--- gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-sql.c	2008-06-16 22:39:35 UTC (rev 17236)
+++ gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-sql.c	2008-06-20 00:05:02 UTC (rev 17237)
@@ -1088,8 +1088,12 @@
 
 	value = g_new0( GValue, 1 );
 
-    i_getter = (IntAccessFunc)gnc_sql_get_getter( obj_name, table_row );
-    int_value = (*i_getter)( pObject );
+	if( table_row->gobj_param_name != NULL ) {
+		g_object_get( pObject, table_row->gobj_param_name, &int_value, NULL );
+	} else {
+    	i_getter = (IntAccessFunc)gnc_sql_get_getter( obj_name, table_row );
+    	int_value = (*i_getter)( pObject );
+	}
     g_value_init( value, G_TYPE_INT );
     g_value_set_int( value, int_value );
 
@@ -1167,8 +1171,12 @@
 
     value = g_new0( GValue, 1 );
 
-    b_getter = (BooleanAccessFunc)gnc_sql_get_getter( obj_name, table_row );
-    int_value = ((*b_getter)( pObject )) ? 1 : 0;
+	if( table_row->gobj_param_name != NULL ) {
+		g_object_get( pObject, table_row->gobj_param_name, &int_value, NULL );
+	} else {
+    	b_getter = (BooleanAccessFunc)gnc_sql_get_getter( obj_name, table_row );
+    	int_value = ((*b_getter)( pObject )) ? 1 : 0;
+	}
     g_value_init( value, G_TYPE_INT );
     g_value_set_int( value, int_value );
 
@@ -1239,8 +1247,12 @@
 	g_return_if_fail( pList != NULL );
 
     value = g_new0( GValue, 1 );
-    getter = (Int64AccessFunc)gnc_sql_get_getter( obj_name, table_row );
-    i64_value = (*getter)( pObject );
+	if( table_row->gobj_param_name != NULL ) {
+		g_object_get( pObject, table_row->gobj_param_name, &i64_value, NULL );
+	} else {
+    	getter = (Int64AccessFunc)gnc_sql_get_getter( obj_name, table_row );
+    	i64_value = (*getter)( pObject );
+	}
     g_value_init( value, G_TYPE_INT64 );
     g_value_set_int64( value, i64_value );
 



More information about the gnucash-changes mailing list