From 6490704901974612504668693742a53c2718862a Mon Sep 17 00:00:00 2001 From: Krzysztof Sikora Date: Sat, 8 Feb 2020 13:58:30 +1100 Subject: [PATCH 1/3] Fix for executeBulkSql --- src/DatabaseLayer.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/DatabaseLayer.js b/src/DatabaseLayer.js index 3ddebbf..7c9bb4e 100644 --- a/src/DatabaseLayer.js +++ b/src/DatabaseLayer.js @@ -15,8 +15,17 @@ export default class DatabaseLayer { tx.executeSql( sql, params[index], - (_, { rows, insertId }) => { - sqlResolve({ rows: rows._array, insertId }) + (_, result) => { + + const rows = [...result.rows] + let insertId + try { + // Extracting insertId when no rows have been added results in an error + insertId = result.insertId + } catch { + insertId = null + } + sqlResolve({ rows, insertId }) }, (_, error) => { sqlReject(error) } ) @@ -29,7 +38,7 @@ export default class DatabaseLayer { async executeSql(sql, params = []) { return this.executeBulkSql([sql], [params]) .then(res => res[0]) - .catch(errors => {throw errors[0]}) + .catch(errors => { throw errors[0] }) } createTable(columnMapping) { @@ -81,7 +90,7 @@ export default class DatabaseLayer { } findBy(where = {}) { - const options = { where, limit: 1 } + const options = { where, limit: 1, page: 1 } const sql = QueryBuilder.query(this.tableName, options) const params = Object.values(options.where) return this.executeSql(sql, params).then(({ rows }) => rows[0]) From 49a92da2eeb53903fb7f4d8584050dcf29fc4fc5 Mon Sep 17 00:00:00 2001 From: Krzysztof Sikora Date: Sat, 15 Feb 2020 12:43:43 +1100 Subject: [PATCH 2/3] Fix for try...catch --- src/DatabaseLayer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DatabaseLayer.js b/src/DatabaseLayer.js index 7c9bb4e..04b8c6a 100644 --- a/src/DatabaseLayer.js +++ b/src/DatabaseLayer.js @@ -22,7 +22,7 @@ export default class DatabaseLayer { try { // Extracting insertId when no rows have been added results in an error insertId = result.insertId - } catch { + } catch (err) { insertId = null } sqlResolve({ rows, insertId }) From 9f43c79972513dd8289430173818db5a9927f30c Mon Sep 17 00:00:00 2001 From: Krzysztof Sikora Date: Sat, 22 Feb 2020 14:44:28 +1100 Subject: [PATCH 3/3] Fix for Android --- src/DatabaseLayer.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/DatabaseLayer.js b/src/DatabaseLayer.js index 04b8c6a..0471719 100644 --- a/src/DatabaseLayer.js +++ b/src/DatabaseLayer.js @@ -17,7 +17,8 @@ export default class DatabaseLayer { params[index], (_, result) => { - const rows = [...result.rows] + // rows._array on Android, rows on Web + const rows = [...(result.rows._array || result.rows)] let insertId try { // Extracting insertId when no rows have been added results in an error