You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Include edge in WITH statement before ORDER BY (aws#114)
Fixed nested edge subqueries with sorting to pass along the edge in WITH statement before the ORDER BY, otherwise neptune will return a 400 bad request error if the edge is referenced later in the query.
query: 'MATCH (getNodeAirports_Airport:`airport`) WITH getNodeAirports_Airport ORDER BY getNodeAirports_Airport.desc ASC, getNodeAirports_Airport.code DESC\n'+
238
238
'OPTIONAL MATCH (getNodeAirports_Airport)<-[getNodeAirports_Airport_airportRoutesIn_route:route]-(getNodeAirports_Airport_airportRoutesIn:`airport`) '+
239
-
'WITH getNodeAirports_Airport, getNodeAirports_Airport_airportRoutesIn ORDER BY getNodeAirports_Airport_airportRoutesIn.country ASC, getNodeAirports_Airport_airportRoutesIn.city DESC\n'+
239
+
'WITH getNodeAirports_Airport, getNodeAirports_Airport_airportRoutesIn, getNodeAirports_Airport_airportRoutesIn_route ORDER BY getNodeAirports_Airport_airportRoutesIn.country ASC, getNodeAirports_Airport_airportRoutesIn.city DESC\n'+
240
240
'WITH getNodeAirports_Airport, CASE WHEN getNodeAirports_Airport_airportRoutesIn IS NULL THEN [] ELSE COLLECT({country: getNodeAirports_Airport_airportRoutesIn.`country`, city: getNodeAirports_Airport_airportRoutesIn.`city`}) END AS getNodeAirports_Airport_airportRoutesIn_collect\n'+
@@ -269,7 +269,8 @@ test('should resolve app sync event with nested sort arguments and variables', (
269
269
270
270
expect(result).toEqual({
271
271
query: 'MATCH (getNodeAirports_Airport:`airport`) WITH getNodeAirports_Airport ORDER BY getNodeAirports_Airport.country ASC, getNodeAirports_Airport.city ASC LIMIT 1\n'+
272
-
'OPTIONAL MATCH (getNodeAirports_Airport)<-[getNodeAirports_Airport_airportRoutesIn_route:route]-(getNodeAirports_Airport_airportRoutesIn:`airport`) WITH getNodeAirports_Airport, getNodeAirports_Airport_airportRoutesIn ORDER BY getNodeAirports_Airport_airportRoutesIn.country DESC, getNodeAirports_Airport_airportRoutesIn.code DESC\n'+
272
+
'OPTIONAL MATCH (getNodeAirports_Airport)<-[getNodeAirports_Airport_airportRoutesIn_route:route]-(getNodeAirports_Airport_airportRoutesIn:`airport`) '+
273
+
'WITH getNodeAirports_Airport, getNodeAirports_Airport_airportRoutesIn, getNodeAirports_Airport_airportRoutesIn_route ORDER BY getNodeAirports_Airport_airportRoutesIn.country DESC, getNodeAirports_Airport_airportRoutesIn.code DESC\n'+
273
274
'WITH getNodeAirports_Airport, CASE WHEN getNodeAirports_Airport_airportRoutesIn IS NULL THEN [] ELSE COLLECT({_id:ID(getNodeAirports_Airport_airportRoutesIn), city: getNodeAirports_Airport_airportRoutesIn.`city`, code: getNodeAirports_Airport_airportRoutesIn.`code`, country: getNodeAirports_Airport_airportRoutesIn.`country`})[..1] END AS getNodeAirports_Airport_airportRoutesIn_collect\n'+
'OPTIONAL MATCH (getNodeAirports_Airport)<-[getNodeAirports_Airport_airportRoutesIn_route:route]-(getNodeAirports_Airport_airportRoutesIn:`airport`) '+
test('should resolve AppSync event with ID field as both top-level and nested sort argument',()=>{
282
317
constresult=resolveGraphDBQueryFromAppSyncEvent({
283
318
field: 'getNodeAirports',
@@ -295,7 +330,8 @@ test('should resolve AppSync event with ID field as both top-level and nested so
295
330
296
331
expect(result).toEqual({
297
332
query: 'MATCH (getNodeAirports_Airport:`airport`) WITH getNodeAirports_Airport ORDER BY ID(getNodeAirports_Airport) ASC\n'+
298
-
'OPTIONAL MATCH (getNodeAirports_Airport)<-[getNodeAirports_Airport_airportRoutesIn_route:route]-(getNodeAirports_Airport_airportRoutesIn:`airport`) WITH getNodeAirports_Airport, getNodeAirports_Airport_airportRoutesIn ORDER BY ID(getNodeAirports_Airport_airportRoutesIn) DESC\n'+
333
+
'OPTIONAL MATCH (getNodeAirports_Airport)<-[getNodeAirports_Airport_airportRoutesIn_route:route]-(getNodeAirports_Airport_airportRoutesIn:`airport`) '+
334
+
'WITH getNodeAirports_Airport, getNodeAirports_Airport_airportRoutesIn, getNodeAirports_Airport_airportRoutesIn_route ORDER BY ID(getNodeAirports_Airport_airportRoutesIn) DESC\n'+
299
335
'WITH getNodeAirports_Airport, CASE WHEN getNodeAirports_Airport_airportRoutesIn IS NULL THEN [] ELSE COLLECT({_id:ID(getNodeAirports_Airport_airportRoutesIn)}) END AS getNodeAirports_Airport_airportRoutesIn_collect\n'+
constorderByClause=fieldSchemaInfo.argOrderBy?.length ? ` WITH ${withClause} ORDER BY ${fieldSchemaInfo.argOrderBy.map(orderBy=>`${orderBy.field===fieldSchemaInfo.graphDBIdArgName ? `ID(${schemaTypeInfo.pathName})` : `${schemaTypeInfo.pathName}.${orderBy.field}`}${orderBy.direction}`).join(', ')}` : '';
0 commit comments