[open-ils-commits] r8564 - trunk/Open-ILS/src/c-apps

svn at svn.open-ils.org svn at svn.open-ils.org
Fri Feb 1 09:38:19 EST 2008


Author: miker
Date: 2008-02-01 09:10:33 -0500 (Fri, 01 Feb 2008)
New Revision: 8564

Modified:
   trunk/Open-ILS/src/c-apps/oils_cstore.c
Log:
give cstore the ability to select a subcolumn from a complex datatype, using the transform syntax

Modified: trunk/Open-ILS/src/c-apps/oils_cstore.c
===================================================================
--- trunk/Open-ILS/src/c-apps/oils_cstore.c	2008-02-01 05:10:42 UTC (rev 8563)
+++ trunk/Open-ILS/src/c-apps/oils_cstore.c	2008-02-01 14:10:33 UTC (rev 8564)
@@ -1142,6 +1142,7 @@
 	growing_buffer* sql_buf = buffer_init(32);
 	
 	char* field_transform = jsonObjectToSimpleString( jsonObjectGetKeyConst( node, "transform" ) );
+	char* transform_subcolumn = jsonObjectToSimpleString( jsonObjectGetKeyConst( node, "result_field" ) );
 
 	if (field_transform) {
 		buffer_fadd( sql_buf, "%s(\"%s\".%s", field_transform, class, osrfHashGet(field, "name"));
@@ -1170,12 +1171,21 @@
         	sql_buf,
 	        " )"
        	);
- 
+
 	} else {
 		buffer_fadd( sql_buf, "\"%s\".%s", class, osrfHashGet(field, "name"));
 	}
 
+    if (transform_subcolumn) {
+       	buffer_fadd(
+            sql_buf,
+            ".\"%s\"",
+            transform_subcolumn
+        );
+    }
+ 
 	if (field_transform) free(field_transform);
+	if (transform_subcolumn) free(transform_subcolumn);
 
 	return buffer_release(sql_buf);
 }



More information about the open-ils-commits mailing list