diff --git a/db-service/lib/cql-functions.js b/db-service/lib/cql-functions.js index 90e3b64fc..e50ee2021 100644 --- a/db-service/lib/cql-functions.js +++ b/db-service/lib/cql-functions.js @@ -264,7 +264,7 @@ const HANAFunctions = { * @param {string} x session variable name or SQL expression * @returns {string} */ - session_context: x => `session_context('${x.val}')`, + session_context: x => `session_context('${x.val}')`, // Time functions current_date: p => (p ? `current_date(${p})` : 'current_date'), diff --git a/hana/lib/HANAService.js b/hana/lib/HANAService.js index 676c2c9d7..2de4d0b57 100644 --- a/hana/lib/HANAService.js +++ b/hana/lib/HANAService.js @@ -141,7 +141,9 @@ class HANAService extends SQLService { const isSimple = temporary.length + blobs.length + withclause.length === 0 // REVISIT: add prepare options when param:true is used - const sqlScript = isLockQuery || isSimple ? sql : this.wrapTemporary(temporary, withclause, blobs) + let sqlScript = isLockQuery || isSimple ? sql : this.wrapTemporary(temporary, withclause, blobs) + const { hints } = query.SELECT + if (hints) sqlScript += ` WITH HINT (${hints.join(',')})` let rows if (values?.length || blobs.length > 0) { const ps = await this.prepare(sqlScript, blobs.length)