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