-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Description
Detailed steps to reproduce
> q = cds.ql`SELECT from ${Books} { (stock>0 or stock = 0) as stockNotEmpty }`
cds.ql {
SELECT: {
from: { ref: [ 'sap.capire.bookshop.Books' ] },
columns: [
{
xpr: [
{ ref: [ 'stock' ] },
'>',
{ val: 0 },
'or',
{ ref: [ 'stock' ] },
'=',
{ val: 0 }
],
as: 'stockNotEmpty'
}
]
}
}
> await q
Uncaught:
[SqlError: sql syntax error: incorrect syntax near "(": line 1 col 107 (at pos 107)] {
code: 257,
sqlState: 'HY000',
level: 1,
position: 0,
query: `WITH Books as (SELECT (CASE WHEN Books.stock > ? THEN true WHEN NOT Books.stock > ? THEN false END) or (CASE WHEN Books.stock = ? THEN true WHEN NOT Books.stock = ? THEN false END) as "stockNotEmpty" FROM sap_capire_bookshop_Books as Books) SELECT '$[' as "_path_",'{}' as "_blobs_",'{}' as "_expands_",(SELECT "stockNotEmpty" FROM JSON_TABLE('{}', '$' COLUMNS("'$$FaKeDuMmYCoLuMn$$'" FOR ORDINALITY)) FOR JSON ('format'='no', 'omitnull'='no', 'arraywrap'='no') RETURNS NVARCHAR(2147483647)) as "_json_" FROM Books`
}WITH Books AS (
SELECT
(CASE
WHEN Books.stock > ? THEN true
WHEN NOT Books.stock > ? THEN false
END) OR
(CASE
WHEN Books.stock = ? THEN true
WHEN NOT Books.stock = ? THEN false
END) AS "stockNotEmpty" # parentheses missing?
FROM sap_capire_bookshop_Books AS Books
)
SELECT
'$[' AS "_path_",
'{}' AS "_blobs_",
'{}' AS "_expands_",
(
SELECT "stockNotEmpty"
FROM JSON_TABLE('{}', '$' COLUMNS("'$$FaKeDuMmYCoLuMn$$'" FOR ORDINALITY))
FOR JSON ('format'='no', 'omitnull'='no', 'arraywrap'='no')
RETURNS NVARCHAR(2147483647)
) AS "_json_"
FROM BooksDetails about your project
| @capire/bookshop | … |
|---|---|
| @cap-js/asyncapi | 1.0.2 |
| @cap-js/cds-types | 0.9.0 |
| @cap-js/db-service | 1.17.0 |
| @cap-js/hana | 1.6.0 |
| @cap-js/openapi | 1.1.2 |
| @cap-js/sqlite | 1.8.0 |
| @sap/cds | 8.8.0 |
| @sap/cds-compiler | 5.7.1 |
| @sap/cds-dk | 8.7.0 |
| @sap/cds-fiori | 1.3.0 |
| @sap/cds-foss | 5.0.1 |
| @sap/cds-mtxs | 2.5.0 |
| @sap/eslint-plugin-cds | 3.1.2 |
| Node.js | v20.11.0 |
Run
cds v -iin your project root to generate this
Reactions are currently unavailable