From 585712a25d4013ac54afdc8c75326cbdcd67445e Mon Sep 17 00:00:00 2001 From: GabrielTrettel Date: Thu, 7 Jan 2021 11:51:03 -0300 Subject: [PATCH] undefined checks in database transactions --- src/app/database/database-connection.js | 1 + src/app/database/database-init.js | 2 +- src/app/hooks/selectFromDB.js | 16 +++++++++++----- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/app/database/database-connection.js b/src/app/database/database-connection.js index f998118..bc9d3f4 100644 --- a/src/app/database/database-connection.js +++ b/src/app/database/database-connection.js @@ -3,6 +3,7 @@ import * as SQLite from "expo-sqlite"; function openDatabase() { const db = SQLite.openDatabase("db.testDb"); + // return undefined return db; } diff --git a/src/app/database/database-init.js b/src/app/database/database-init.js index f2ad2c2..6234dc3 100644 --- a/src/app/database/database-init.js +++ b/src/app/database/database-init.js @@ -28,7 +28,7 @@ function createAllTables(db) { * */ function initDatabase(db) { - createAllTables(db); + (db != undefined && db !== null) && createAllTables(db); } export default initDatabase; diff --git a/src/app/hooks/selectFromDB.js b/src/app/hooks/selectFromDB.js index dc7cf4c..e1fd633 100644 --- a/src/app/hooks/selectFromDB.js +++ b/src/app/hooks/selectFromDB.js @@ -140,16 +140,22 @@ function parseResult(db_result, parseRow) { return warnings; } +function isAvailable(dataBase) { + return dataBase !== undefined && dataBase !== null; +} + function genericSelect(queriesToParsersMapper, dispatch, isFocused) { useEffect(() => { console.log("requesting data"); - queriesToParsersMapper.forEach(([query, parser]) => { - global.userDataBase.transaction((tx) => { - tx.executeSql(query, [], (tx, results) => { - dispatch({ increment: parseResult(results, parser) }); + if (isAvailable(global.userDataBase)) { + queriesToParsersMapper.forEach(([query, parser]) => { + global.userDataBase.transaction((tx) => { + tx.executeSql(query, [], (tx, results) => { + dispatch({ increment: parseResult(results, parser) }); + }); }); }); - }); + } }, [isFocused]); }