Projekt

Allgemein

Profil

Bug #187 » 0001-Cache-app-db-config-to-speed-up-checking-account-ali.patch

rhabacker, 30.01.2020 23:09

Unterschiede anzeigen:

src/libs/aqbanking/banking.c
ab->appName=strdup(appName);
ab->cryptTokenList=GWEN_Crypt_Token_List2_new();
ab->dbRuntimeConfig=GWEN_DB_Group_new("runtimeConfig");
ab->dbAppConfig = NULL;
GWEN_Buffer_free(nbuf);
......
AB_Banking_ClearCryptTokenList(ab);
GWEN_Crypt_Token_List2_free(ab->cryptTokenList);
GWEN_ConfigMgr_free(ab->configMgr);
GWEN_DB_Group_free(ab->dbAppConfig);
free(ab->startFolder);
free(ab->appName);
free(ab->appEscName);
src/libs/aqbanking/banking_compat.c
}
GWEN_DB_Group_free(dbConfig);
// delete read cache used by AB_Banking_GetAccountSpecByAlias
GWEN_DB_Group_free(ab->dbAppConfig);
ab->dbAppConfig = NULL;
return 0;
}
......
AB_ACCOUNT_SPEC *AB_Banking_GetAccountSpecByAlias(AB_BANKING *ab, const char *alias)
{
GWEN_DB_NODE *dbConfig=NULL;
GWEN_DB_NODE *db;
AB_ACCOUNT_SPEC *as=NULL;
uint32_t aid;
int rv;
rv=AB_Banking_ReadNamedConfigGroup(ab, AB_CFG_GROUP_APPS, ab->appName, 1, 1, &dbConfig);
if (rv<0) {
DBG_INFO(AQBANKING_LOGDOMAIN, "here (%d)", rv);
return NULL;
if (!ab->dbAppConfig) {
rv=AB_Banking_ReadNamedConfigGroup(ab, AB_CFG_GROUP_APPS, ab->appName, 1, 1, &ab->dbAppConfig);
if (rv<0) {
DBG_INFO(AQBANKING_LOGDOMAIN, "here (%d)", rv);
return NULL;
}
}
db=GWEN_DB_GetGroup(dbConfig, GWEN_DB_FLAGS_DEFAULT, "banking/aliases");
db=GWEN_DB_GetGroup(ab->dbAppConfig, GWEN_DB_FLAGS_DEFAULT, "banking/aliases");
aid=GWEN_DB_GetIntValue(db, alias, 0, 0);
if (aid<1) {
DBG_ERROR(AQBANKING_LOGDOMAIN, "Invalid account id for alias \"%s\"", alias);
GWEN_DB_Group_free(dbConfig);
return NULL;
}
GWEN_DB_Group_free(dbConfig);
rv=AB_Banking_GetAccountSpecByUniqueId(ab, aid, &as);
if (rv<0) {
src/libs/aqbanking/banking_p.h
GWEN_CONFIGMGR *configMgr;
GWEN_DB_NODE *dbRuntimeConfig;
GWEN_DB_NODE *dbAppConfig;
};
(1-1/3)