diff --git a/src/CaosDB.jl b/src/CaosDB.jl index 9ad459b1a3f383fe6b96a964fd415f764cf07d3c..f3155f11bffad7b34fdd7ef3d2ed1ee1e947360e 100644 --- a/src/CaosDB.jl +++ b/src/CaosDB.jl @@ -270,9 +270,8 @@ to. """ function get_version_info(con::Ref{CaosDBConnection}) - println("Entering get_version_info...") info = Ref{CaosDB.Info.VersionInfo}(CaosDB.Info.VersionInfo()) - println("Calling c function") + err_code = ccall( (:caosdb_connection_get_version_info, "libccaosdb"), Cint, @@ -280,7 +279,7 @@ function get_version_info(con::Ref{CaosDBConnection}) info, con, ) - println("Return code $err_code") + # TODO Real error-code handling if err_code != 0 @@ -292,6 +291,29 @@ function get_version_info(con::Ref{CaosDBConnection}) end +""" + print_version_info(con::Ref{CaosDBConnection}) + +Retrieve the version info for the CaosDB server `con` is connected to, +and print the version in a nice message. +""" +function print_version_info(con::Ref{CaosDBConnection}) + + # Dereference to access the fields + info = get_version_info(con)[] + + major = info.major + minor = info.minor + patch = info.patch + pre_release_str = unsafe_string(info.pre_release) + build_str = unsafe_string(info.build) + + println( + "Connected to a CaosDB server with version $major.$minor.$patch-$pre_release_str-$build_str.", + ) + +end + function connect( host::AbstractString = nothing, port_str::AbstractString = nothing, @@ -308,7 +330,7 @@ function connect( if port_str == nothing - port = CaosDB.Utility.get_env_var("CAOSDB_SERVER_GRPC_PORT_HTTPS", "localhost") + port = CaosDB.Utility.get_env_var("CAOSDB_SERVER_GRPC_PORT_HTTPS", "8443") end @@ -337,6 +359,7 @@ function connect( CaosDB.Authentication.create_plain_password_authenticator(username, password) config = create_tls_connection_configuration(host, port, authenticator, provider) connection = create_connection(config) + print_version_info(connection) return connection