Description
Steps to reproduce
- Install node v12.19.0
- Install package "loopback-connector-mysql": "6.0.0"
- use repository that extends
DefaultCrudRepository
and run:
await repo.execute("SELECT * FROM table WHERE name = :name", {name: "John Doe"})
Current Behavior
Receive error:
strong-error-handler Handling AssertionError [ERR_ASSERTION]: params must be an array
Expected Behavior
According to doc the type NamedParameters is supported, so object should be handled
Additional information
My stack trace:
strong-error-handler Handling AssertionError [ERR_ASSERTION]: params must be an array at MySQL.SQLConnector.execute (/api/node_modules/loopback-connector-mysql/node_modules/loopback-connector/lib/sql.js:566:3) at /api/node_modules/loopback-datasource-juggler/lib/datasource.js:2711:39 at new Promise (<anonymous>) at MainDBDataSource.DataSource.execute (/api/node_modules/loopback-datasource-juggler/lib/datasource.js:2710:10) at MySQLRepository.execute (/api/node_modules/@loopback/repository/dist/repositories/legacy-juggler-bridge.js:363:46) at MySQLRepository.query (/api/dist/repositories/mysql.repository.js:16:21) at MyTestController.finances (/api/dist/controllers/my-test.controller.js:63:37) at invokeTargetMethod (/api/node_modules/@loopback/context/dist/invocation.js:156:49) at /api/node_modules/@loopback/context/dist/invocation.js:138:16 at Object.transformValueOrPromise (/api/node_modules/@loopback/context/dist/value-promise.js:257:16) at invokeTargetMethodWithInjection (/api/node_modules/@loopback/context/dist/invocation.js:133:28) at InterceptedInvocationContext.invokeTargetMethod (/api/node_modules/@loopback/context/dist/invocation.js:83:20) at targetMethodInvoker (/api/node_modules/@loopback/context/dist/interceptor.js:241:57) at /api/node_modules/@loopback/context/dist/interceptor-chain.js:110:20 at Object.transformValueOrPromise (/api/node_modules/@loopback/context/dist/value-promise.js:257:16) at GenericInterceptorChain.invokeNextInterceptor (/api/node_modules/@loopback/context/dist/interceptor-chain.js:105:32)
node -e 'console.log(process.platform, process.arch, process.versions.node)'
Outputs: linux x64 12.19.0
npm ls --prod --depth 0 | grep loopback
Outputs:
├── @loopback/[email protected]
├── @loopback/[email protected]
├── @loopback/[email protected]
├── @loopback/[email protected]
├── @loopback/[email protected]
├── @loopback/[email protected]
├── @loopback/[email protected]
├── @loopback/[email protected]
├── @loopback/[email protected]
├── @loopback/[email protected]
├── [email protected]
├── [email protected]
├── [email protected]
Related Issues
I have found #5264 which is related if the problem is in documentation