Skip to content

Commit

Permalink
Add chdb_set_named_collections
Browse files Browse the repository at this point in the history
This allows to create named collections that are kept only in memory for the duration of the session
  • Loading branch information
Dennitz committed Sep 10, 2023
1 parent 28886a2 commit ad5afb3
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 0 deletions.
13 changes: 13 additions & 0 deletions programs/local/LocalServer.cpp
Expand Up @@ -985,6 +985,13 @@ void LocalServer::free_result(chdb_local_result * result)

delete result;
}

void LocalServer::set_named_collections(char * named_collection_config_xml)
{
ConfigurationPtr named_collection_config = getConfigurationFromXMLString(named_collection_config_xml);
NamedCollectionUtils::reloadFromConfig(*named_collection_config);
}

}

#pragma GCC diagnostic ignored "-Wunused-function"
Expand Down Expand Up @@ -1138,6 +1145,12 @@ chdb_local_result * chdb_query(ChdbLocalServerPtr obj, char * query, char * form
}
}

void chdb_set_named_collections(ChdbLocalServerPtr obj, char * named_collection_config_xml)
{
DB::LocalServer* app = static_cast<DB::LocalServer*>(obj);
app->set_named_collections(named_collection_config_xml);
}

// todo fix the memory leak and unnecessary copy
chdb_local_result * query_stable(int argc, char ** argv)
{
Expand Down
1 change: 1 addition & 0 deletions programs/local/LocalServer.h
Expand Up @@ -40,6 +40,7 @@ class LocalServer : public ClientBase, public Loggers
ClientBase::uninitialize();
}

void set_named_collections(char * named_collection_config_xml);
protected:
void connect() override;

Expand Down
1 change: 1 addition & 0 deletions programs/local/chdb.h
Expand Up @@ -21,4 +21,5 @@ chdb_init_result * chdb_connect(int argc, char ** argv);
void chdb_disconnect(ChdbLocalServerPtr obj);
chdb_local_result * chdb_query(ChdbLocalServerPtr obj, char * query, char * format);
void chdb_free_result(ChdbLocalServerPtr obj, chdb_local_result * result);
void chdb_set_named_collections(ChdbLocalServerPtr obj, char * named_collection_config_xml);
}

0 comments on commit ad5afb3

Please sign in to comment.