Skip to content

Commit f262718

Browse files
David-KunzBobdenOs
andauthored
fix: TypeError for empty list (#1269)
Co-authored-by: Bob den Os <[email protected]>
1 parent 52e16db commit f262718

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

db-service/lib/cqn2sql.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ class CQN2SQLRenderer {
324324
DistanceFromRoot: { xpr: [{ ref: ['HIERARCHY_LEVEL'] }, '-', { val: 1, param: false }], as: 'DistanceFromRoot' },
325325
DrillState: false,
326326
LimitedDescendantCount: { xpr: [{ ref: ['HIERARCHY_TREE_SIZE'] }, '-', { val: 1, param: false }], as: 'LimitedDescendantCount' },
327-
LimitedRank: { xpr: [{ func: 'row_number', args: [], xpr: ['OVER', { list: [] }] }, '-', { val: 1, param: false }], as: 'LimitedRank' }
327+
LimitedRank: { xpr: [{ func: 'row_number', args: [] }, 'OVER', { xpr: [] }, '-', { val: 1, param: false }], as: 'LimitedRank' }
328328
}
329329

330330
const columnsFiltered = columns

hana/lib/HANAService.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1145,7 +1145,7 @@ SELECT ${mixing} FROM JSON_TABLE(SRC.JSON, '$' COLUMNS(${extraction}) ERROR ON E
11451145
list(list) {
11461146
const first = list.list[0]
11471147
// If the list only contains of lists it is replaced with a json function and a placeholder
1148-
if (this.values && first.list && !first.list.find(v => v.val == null)) {
1148+
if (this.values && first?.list && !first.list.find(v => v.val == null)) {
11491149
const listMapped = []
11501150
for (let l of list.list) {
11511151
const obj = {}
@@ -1163,7 +1163,7 @@ SELECT ${mixing} FROM JSON_TABLE(SRC.JSON, '$' COLUMNS(${extraction}) ERROR ON E
11631163
return `(SELECT * FROM JSON_TABLE(?, '$' COLUMNS(${extraction})))`
11641164
}
11651165
// If the list only contains of vals it is replaced with a json function and a placeholder
1166-
if (this.values && first.val != null) {
1166+
if (this.values && first?.val != null) {
11671167
for (let c of list.list) {
11681168
if (Buffer.isBuffer(c.val)) {
11691169
return super.list(list)

0 commit comments

Comments
 (0)