From a728746d8ca9a2adafb6eac83ef9670921135e97 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodriguez Date: Thu, 30 Nov 2023 16:59:32 -0300 Subject: [PATCH] fix(basic.gblib): Databases. #392 @othonlima. --- .../basic.gblib/services/SystemKeywords.ts | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/packages/basic.gblib/services/SystemKeywords.ts b/packages/basic.gblib/services/SystemKeywords.ts index 653975fd..606b2173 100644 --- a/packages/basic.gblib/services/SystemKeywords.ts +++ b/packages/basic.gblib/services/SystemKeywords.ts @@ -662,22 +662,20 @@ export class SystemKeywords { public async saveToStorage({ pid, table, fieldsValues, fieldsNames }): Promise { const { min } = await DialogKeywords.getProcessInfo(pid); GBLog.info(`BASIC: Saving to storage '${table}' (SAVE).`); - const minBoot = GBServer.globals.minBoot as any; const definition = this.getTableFromName(table, min); let dst = {}; + // Uppercases fields. + let i = 0; + Object.keys(fieldsValues).forEach(fieldSrc => { + const field = fieldsNames[i].charAt(0).toUpperCase() + fieldsNames[i].slice(1); - // Uppercases fields. - let i = 0; - Object.keys(fieldsValues).forEach(fieldSrc => { - const field = fieldsNames[i].charAt(0).toUpperCase() + fieldsNames[i].slice(1); - - dst[field] = fieldsValues[fieldSrc]; - - i++; - }); + dst[field] = fieldsValues[fieldSrc]; + i++; + }); + let item; await retry( async (bail) => { @@ -685,6 +683,7 @@ export class SystemKeywords { }, { retries: 5, + onRetry: (err)=>{GBLog.error(`Retrying due to: ${err.message}.`);} } ); @@ -2230,10 +2229,21 @@ export class SystemKeywords { } } - this.cachedMerge[pid][file].push(row); - if (storage) { + + let dst={}; + // Uppercases fields. + let i = 0; + Object.keys(fieldsValues).forEach(fieldSrc => { + const field = fieldsNames[i].charAt(0).toUpperCase() + fieldsNames[i].slice(1); + + dst[field] = fieldsValues[fieldSrc]; + + i++; + }); + await this.saveToStorage({ pid, table: file, fieldsValues, fieldsNames }); + this.cachedMerge[pid][file].push(dst); } else { await this.save({ pid, file, args: fieldsValues });