@@ -85,7 +85,7 @@ module.exports = function (req, res, next) {
8585
8686 Object . keys ( req . query ) . forEach ( function ( param ) {
8787 if ( validParams . hasOwnProperty ( param ) ) {
88- where . push ( validParams [ param ] + " IN (:" + param + ")" ) ;
88+ where . push ( validParams [ param ] + " = ANY (:" + param + ")" ) ;
8989
9090 if ( param . substr ( param . length - 3 , param . length ) === "_id" ) {
9191 params [ param ] = larkin . parseMultipleIds ( req . query [ param ] ) ;
@@ -104,6 +104,7 @@ module.exports = function (req, res, next) {
104104 //params["col_id2"] = larkin.parseMultipleIds(req.query.col_id);
105105 }
106106
107+
107108 if ( req . query . interval_name ) {
108109 where . push (
109110 "b_age>(SELECT age_top from intervals where interval_name = ANY(:intname1) and t_age<(SELECT age_bottom from macrostrat.intervals where interval_name = ANY(:intname2)))" ,
@@ -155,12 +156,16 @@ module.exports = function (req, res, next) {
155156 measuremeta.lng as lng,
156157 unit_measures.unit_id,
157158 rel_position as unit_rel_pos,
158- IF(unit_measures.unit_id is not null, units_sections.col_id, measuremeta_cols.col_id) as col_id,
159+ CASE
160+ WHEN unit_measures.unit_id IS NOT NULL THEN units_sections.col_id
161+ ELSE measuremeta_cols.col_id
162+ END AS col_id,
159163 strat_name_id,
160164 match_basis,
161165 ref` ;
162166 }
163-
167+ //removed IF with a CASE WHEN function.
168+ //IF(unit_measures.unit_id is not null, units_sections.col_id, measuremeta_cols.col_id) as col_id,
164169 if ( req . query . response === "light" ) {
165170 select = `
166171 measurements.id as measurement_id,
@@ -199,38 +204,39 @@ module.exports = function (req, res, next) {
199204 LEFT JOIN macrostrat.lookup_unit_intervals USING (unit_id)
200205 LEFT JOIN macrostrat.liths ON lith_id=liths.id
201206 ${ where }
202- GROUP BY measuremeta.id,measurements.id, measure_units, measure_phase, method, v_error_units
207+ GROUP BY measuremeta.id,measurements.id, measure_units, measure_phase, method, v_error_units,
208+ unit_measures.unit_id, unit_measures. rel_position, units_sections. col_id, measuremeta_cols. col_id,
209+ unit_measures. strat_name_id,unit_measures. match_basis
203210 ${ limit }
204211 ` ;
205212
206-
207213 larkin . queryPg ( "burwell" , sql , params , function ( error , response ) {
208214 if ( error ) {
209215 larkin . error ( req , res , next , error ) ;
210216 } else {
211217 if ( req . query . format !== "csv" && "show_values" in req . query ) {
212- for ( var i = 0 ; i < response . length ; i ++ ) {
218+ for ( var i = 0 ; i < response . rows . length ; i ++ ) {
213219 if ( req . query . response !== "light" ) {
214- response [ i ] . measure_position = larkin . jsonifyPipes (
215- response [ i ] . measure_position ,
220+ response . rows [ i ] . measure_position = larkin . jsonifyPipes (
221+ response . rows [ i ] . measure_position ,
216222 "floats" ,
217223 ) ;
218224 }
219- response [ i ] . measure_value = larkin . jsonifyPipes (
220- response [ i ] . measure_value ,
225+ response . rows [ i ] . measure_value = larkin . jsonifyPipes (
226+ response . rows [ i ] . measure_value ,
221227 "floats" ,
222228 ) ;
223- response [ i ] . measure_error = larkin . jsonifyPipes (
224- response [ i ] . measure_error ,
229+ response . rows [ i ] . measure_error = larkin . jsonifyPipes (
230+ response . rows [ i ] . measure_error ,
225231 "floats" ,
226232 ) ;
227233 if ( req . query . response === "long" ) {
228- response [ i ] . measure_n = larkin . jsonifyPipes (
229- response [ i ] . measure_n ,
234+ response . rows [ i ] . measure_n = larkin . jsonifyPipes (
235+ response . rows [ i ] . measure_n ,
230236 "floats" ,
231237 ) ;
232- response [ i ] . sample_no = larkin . jsonifyPipes (
233- response [ i ] . sample_no ,
238+ response . rows [ i ] . sample_no = larkin . jsonifyPipes (
239+ response . rows [ i ] . sample_no ,
234240 "strings" ,
235241 ) ;
236242 }
@@ -239,7 +245,7 @@ module.exports = function (req, res, next) {
239245
240246 if ( geo ) {
241247 dbgeo . parse (
242- response ,
248+ response . rows ,
243249 {
244250 outputFormat : larkin . getOutputFormat ( req . query . format ) ,
245251 geometryColumn : [ "lng" , "lat" ] ,
0 commit comments