diff --git a/extensions/kDBDatasets/Datasets.cpp b/extensions/kDBDatasets/Datasets.cpp index 7354461b3bcd185e4b5d1e370520836aa265eff2..4ef81ba4c2f4fe127172ba243ad7805f729e8ec9 100644 --- a/extensions/kDBDatasets/Datasets.cpp +++ b/extensions/kDBDatasets/Datasets.cpp @@ -336,7 +336,8 @@ knowCore::ReturnValue<Dataset> Datasets::dataset(const knowCore::Uri& _datasetUr ds.d->definition = ds_def; ds.d->connection = d->connection; KNOWCORE_RETURN_VALUE_TRY(declaration, dataset_declaration_registry.byConstantField(knowCore::Uris::askcore_dataset::dataset, knowCore::Uris::askcore_dataset::dataset_type, knowRDF::Literal::fromValue(ds.d->definition->type))); - ds.d->object = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [this, ds_def]() { return ds_def->triplestores(d->connection); }, ds.d->definition->uri, declaration); + kDB::Repository::Connection connection = d->connection; + ds.d->object = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [connection, ds_def]() { return ds_def->triplestores(connection); }, ds.d->definition->uri, declaration); return kCrvSuccess(ds); } @@ -362,7 +363,8 @@ QList<Dataset> Datasets::all() const } ds.d->definition = ds_def; kDB::Repository::RDF::FocusNodeDeclaration declaration = dataset_declaration_registry.byConstantField(knowCore::Uris::askcore_dataset::dataset, knowCore::Uris::askcore_dataset::dataset_type, knowRDF::Literal::fromValue(ds.d->definition->type)).expectSuccess(); // TODO kDB 5.0 this function should return a ReturnValue<QList...> - ds.d->object = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [this, ds_def]() { return ds_def->triplestores(d->connection); }, ds.d->definition->uri, declaration); + kDB::Repository::Connection connection = d->connection; + ds.d->object = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [connection, ds_def]() { return ds_def->triplestores(connection); }, ds.d->definition->uri, declaration); dss.append(ds); } } else { @@ -479,7 +481,8 @@ knowCore::ReturnValue<QList<Dataset>> Datasets::datasets(const QList<QPair<knowC ds.d->definition = ds_def; ds.d->connection = d->connection; KNOWCORE_RETURN_VALUE_TRY(declaration, dataset_declaration_registry.byConstantField(knowCore::Uris::askcore_dataset::dataset, knowCore::Uris::askcore_dataset::dataset_type, knowRDF::Literal::fromValue(ds.d->definition->type))); - ds.d->object = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [this, ds_def]() { return ds_def->triplestores(d->connection); }, ds.d->definition->uri, declaration); + kDB::Repository::Connection connection = d->connection; + ds.d->object = kDB::Repository::RDF::FocusNode(d->connection, knowCore::Uris::askcore_graphs::all_datasets, [connection, ds_def]() { return ds_def->triplestores(connection); }, ds.d->definition->uri, declaration); dss.append(ds); } diff --git a/kDB/Repository/Connection.cpp b/kDB/Repository/Connection.cpp index cfad109f44ea1eac9366a454419c13c192dbc5aa..63de50a00b410908d47240beb55d78449aafe51e 100644 --- a/kDB/Repository/Connection.cpp +++ b/kDB/Repository/Connection.cpp @@ -418,7 +418,10 @@ knowCore::ReturnVoid Connection::Private::loadExtensions() void Connection::increaseSelfPCount() { - if(d) ++d->self_p_count; + if(d) + { + ++d->self_p_count; + } } void Connection::decreaseSelfPCount()