@@ -122,15 +122,21 @@ function buildQueryColumns(query) {
122122 return queryColumns ;
123123}
124124
125+ function addQueryPredicates ( sql , query ) {
126+ if ( query . layer ) {
127+ sql += ` AND layer = ${ escapeSql ( query . layer ) } ` ;
128+ }
129+
130+ return sql ;
131+ }
132+
125133function getByBoundingBox ( query , callback ) {
126134 let boundingBoxQuery = `SELECT ${ buildQueryColumns ( query ) } FROM features WHERE ST_Intersects(hull, ST_MakeEnvelope(
127135 ${ query . west } , ${ query . south } ,
128136 ${ query . east } , ${ query . north } , 4326
129137 ))` ;
130138
131- if ( query . layer ) {
132- boundingBoxQuery += ` AND layer=${ escapeSql ( query . layer ) } ` ;
133- }
139+ boundingBoxQuery = addQueryPredicates ( boundingBoxQuery , query ) ;
134140
135141 return executeQuery ( boundingBoxQuery , callback ) ;
136142}
@@ -140,9 +146,7 @@ function getByPoint(query, callback) {
140146 'POINT(${ query . longitude } ${ query . latitude } )', 4326)
141147 )` ;
142148
143- if ( query . layer ) {
144- pointQuery += ` AND layer=${ escapeSql ( query . layer ) } ` ;
145- }
149+ pointQuery = addQueryPredicates ( pointQuery , query ) ;
146150
147151 return executeQuery ( pointQuery , callback ) ;
148152}
@@ -155,9 +159,7 @@ function getByName(query, callback) {
155159 } ) . join ( " OR " ) } )`;
156160 let nameQuery = `SELECT ${ buildQueryColumns ( query ) } FROM features WHERE ${ namesDisjunction } ` ;
157161
158- if ( query . layer ) {
159- nameQuery += ` AND layer=${ escapeSql ( query . layer ) } ` ;
160- }
162+ nameQuery = addQueryPredicates ( nameQuery , query ) ;
161163
162164 executeQuery ( nameQuery , callback ) ;
163165}
0 commit comments