From 8fe00f03ba6a58ba7e62e237f25bb4b5c999597e Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Thu, 9 Jan 2025 11:57:40 +1100 Subject: [PATCH 1/2] Informix connection handling --- src/common/informixHelper.js | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/common/informixHelper.js b/src/common/informixHelper.js index 20e1e22..86da2dc 100644 --- a/src/common/informixHelper.js +++ b/src/common/informixHelper.js @@ -7,6 +7,8 @@ const helper = require('./helper') const informix = require('informixdb') const ReviewService = require('../services/ReviewService') const ReviewSummationService = require('../services/ReviewSummationService') + +let dbConnection = null /* * This function loads the online review details for a given submission from Informix. * It uses the data to create review and reviewSummation objects which are then saved @@ -90,22 +92,26 @@ async function loadOnlineReviewDetails (authUser, submission) { } function queryInformix (query) { - const connectionString = 'SERVER=' + config.get('INFORMIX.SERVER') + - ';DATABASE=' + config.get('INFORMIX.DATABASE') + - ';HOST=' + config.get('INFORMIX.HOST') + - ';Protocol=' + config.get('INFORMIX.PROTOCOL') + - ';SERVICE=' + config.get('INFORMIX.PORT') + - ';DB_LOCALE=' + config.get('INFORMIX.DB_LOCALE') + - ';UID=' + config.get('INFORMIX.USER') + + if (!dbConnection || dbConnection.connected==false) { + const connectionString = 'SERVER=' + config.get('INFORMIX.SERVER') + + ';DATABASE=' + config.get('INFORMIX.DATABASE') + + ';HOST=' + config.get('INFORMIX.HOST') + + ';Protocol=' + config.get('INFORMIX.PROTOCOL') + + ';SERVICE=' + config.get('INFORMIX.PORT') + + ';DB_LOCALE=' + config.get('INFORMIX.DB_LOCALE') + + ';UID=' + config.get('INFORMIX.USER') + ';PWD=' + config.get('INFORMIX.PASSWORD') - + try { + const dbConnection = informix.openSync(connectionString) + } catch (ex) { + logger.error(`Informix connection error: ${ex}`) + } + } let result = null try { - const conn = informix.openSync(connectionString) - result = conn.querySync(query) - conn.closeSync() + result = dbConnection.querySync(query) } catch (ex) { - logger.error(ex) + logger.error(`Informix query error: ${ex}`) } return result From 8035298fce0f8d01a39d24db5c7ef81cb02c3286 Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Thu, 9 Jan 2025 11:57:51 +1100 Subject: [PATCH 2/2] Lint --- src/common/informixHelper.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/common/informixHelper.js b/src/common/informixHelper.js index 86da2dc..5f78dc1 100644 --- a/src/common/informixHelper.js +++ b/src/common/informixHelper.js @@ -92,7 +92,7 @@ async function loadOnlineReviewDetails (authUser, submission) { } function queryInformix (query) { - if (!dbConnection || dbConnection.connected==false) { + if (!dbConnection || !dbConnection.connected) { const connectionString = 'SERVER=' + config.get('INFORMIX.SERVER') + ';DATABASE=' + config.get('INFORMIX.DATABASE') + ';HOST=' + config.get('INFORMIX.HOST') + @@ -101,8 +101,8 @@ function queryInformix (query) { ';DB_LOCALE=' + config.get('INFORMIX.DB_LOCALE') + ';UID=' + config.get('INFORMIX.USER') + ';PWD=' + config.get('INFORMIX.PASSWORD') - try { - const dbConnection = informix.openSync(connectionString) + try { + dbConnection = informix.openSync(connectionString) } catch (ex) { logger.error(`Informix connection error: ${ex}`) }