Skip to content
Snippets Groups Projects
Commit 6d639beb authored by Joscha Schmiedt's avatar Joscha Schmiedt
Browse files

Better error checking and reporting in cxxilnkahaedcli

parent 3a7fbc79
No related tags found
2 merge requests!61Release 0.3.0,!59F better errors
Pipeline #56923 passed with warnings
Pipeline: caosdb-cppinttest

#56925

    This commit is part of merge request !59. Comments created here will be created in the context of that merge request.
    ......@@ -43,20 +43,27 @@ const auto logger_name = "liblinkahead";
    auto main() -> int {
    std::cout << "LinkAhead C++ client (liblinkahead " << linkahead::LIBLINKAHEAD_VERSION_MINOR << "."
    std::cout << "LinkAhead C++ client (liblinkahead " << linkahead::LIBLINKAHEAD_VERSION_MAJOR << "."
    << linkahead::LIBLINKAHEAD_VERSION_MINOR << "." << linkahead::LIBLINKAHEAD_VERSION_PATCH
    << ")\n"
    << std::endl;
    << ")\n";
    try {
    const auto &connection = linkahead::connection::ConnectionManager::GetDefaultConnection();
    connection->RetrieveVersionInfoNoExceptions();
    auto status = connection->RetrieveVersionInfoNoExceptions();
    if (status.GetCode() == linkahead::CONNECTION_ERROR) {
    const auto connection_config =
    linkahead::configuration::ConfigurationManager::GetDefaultConnectionConfiguration();
    std::cout << "ConnectionError: Cannot connect to " << connection_config->GetHost() << ":"
    << connection_config->GetPort() << '\n';
    return 1;
    }
    // get version info of the server
    const auto &v_info = connection->GetVersionInfo();
    std::cout << "Server Version: " << v_info->GetMajor() << "." << v_info->GetMinor() << "."
    << v_info->GetPatch() << "-" << v_info->GetPreRelease() << "-" << v_info->GetBuild()
    << std::endl;
    << '\n';
    // retrieve an entity
    auto transaction(connection->CreateTransaction());
    ......@@ -67,12 +74,12 @@ auto main() -> int {
    << "status: " << t_stat.GetCode() << " // " << t_stat.GetDescription();
    const auto &result_set = transaction->GetResultSet();
    for (const auto &entity : result_set) {
    std::cout << entity.ToString() << std::endl;
    std::cout << entity.ToString() << '\n';
    }
    // execute a query
    std::string query("FIND Property \"Prop *\"");
    std::cout << "Trying to execute a query:\n" << query << std::endl;
    std::cout << "Trying to execute a query:\n" << query << '\n';
    auto q_transaction(connection->CreateTransaction());
    q_transaction->Query(query);
    q_transaction->ExecuteAsynchronously();
    ......@@ -81,18 +88,18 @@ auto main() -> int {
    << "status: " << t_stat.GetCode() << " // " << t_stat.GetDescription();
    const auto &result_set_2 = q_transaction->GetResultSet();
    for (const auto &entity : result_set_2) {
    std::cout << entity.ToString() << std::endl;
    std::cout << entity.ToString() << '\n';
    }
    return 0;
    } catch (const linkahead::exceptions::ConfigurationError &exc) {
    std::cout << "ConfigurationError: " << exc.what() << std::endl;
    std::cout << "ConfigurationError: " << exc.what() << '\n';
    return exc.GetCode();
    } catch (const std::exception &exc) {
    std::cout << "Exception: " << exc.what() << std::endl;
    std::cout << "Exception: " << exc.what() << '\n';
    return 1;
    } catch (...) {
    std::cout << "Some other exception." << std::endl;
    std::cout << "Some other exception." << '\n';
    return 2;
    }
    }
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment