@@ -726,7 +726,7 @@ abstract class PostgresAdapterBase implements DbAdapter {
726
726
} ) ) as FindResult < T >
727
727
} catch ( err ) {
728
728
const sqlFull = vars . injectVars ( fquery )
729
- ctx . error ( 'Error in findAll' , { err, sql : fquery , sqlFull } )
729
+ ctx . error ( 'Error in findAll' , { err, sql : fquery , sqlFull, query } )
730
730
throw err
731
731
}
732
732
} ,
@@ -1316,6 +1316,7 @@ abstract class PostgresAdapterBase implements DbAdapter {
1316
1316
} else if ( typeof value === 'object' && ! Array . isArray ( value ) ) {
1317
1317
// we can have multiple criteria for one field
1318
1318
const res : string [ ] = [ ]
1319
+ const nonOperator : Record < string , any > = { }
1319
1320
for ( const operator in value ) {
1320
1321
let val = value [ operator ]
1321
1322
if ( tkeyData && ( Array . isArray ( val ) || ( typeof val !== 'object' && typeof val !== 'string' ) ) ) {
@@ -1402,10 +1403,14 @@ abstract class PostgresAdapterBase implements DbAdapter {
1402
1403
}
1403
1404
break
1404
1405
default :
1405
- res . push ( ` ${ tkey } @> '[ ${ JSON . stringify ( value ) } ]'` )
1406
+ nonOperator [ operator ] = value [ operator ]
1406
1407
break
1407
1408
}
1408
1409
}
1410
+ if ( Object . keys ( nonOperator ) . length > 0 ) {
1411
+ const qkey = tkey . replace ( '#>>' , '->' ) . replace ( '{' , '' ) . replace ( '}' , '' )
1412
+ res . push ( `(${ qkey } @> '${ JSON . stringify ( nonOperator ) } ' or ${ qkey } @> '[${ JSON . stringify ( nonOperator ) } ]')` )
1413
+ }
1409
1414
return res . length === 0 ? undefined : res . join ( ' AND ' )
1410
1415
}
1411
1416
0 commit comments