Skip to content

SimbaGithub/libsnowflakeclient

 
 

Repository files navigation

Snowflake Connector for C/C++

https://travis-ci.org/snowflakedb/libsnowflakeclient.svg?branch=master https://ci.appveyor.com/api/projects/status/i1rkda42xeg2bodv/branch/master?svg=true

Under development. No functionality works. Suggestion is welcome at any time.

Build and Tests

Build

Ensure you have cmake 2.8 or later version.

Linux and OSX

./scripts/build_libsnowflakeclient.sh

Windows

Add x64 or x86 for 64 bit or 32 bit Windows:

.\scripts\build_libsnowflakeclient.bat x64 Release

or

.\scripts\build_libsnowflakeclient.bat x86 Release

Prepare for Test

Set the Snowflake connection info in parameters.json and place it in $HOME:

{
    "testconnection": {
        "SNOWFLAKE_TEST_USER":      "<your_user>",
        "SNOWFLAKE_TEST_PASSWORD":  "<your_password>",
        "SNOWFLAKE_TEST_ACCOUNT":   "<your_account>",
        "SNOWFLAKE_TEST_WAREHOUSE": "<your_warehouse>",
        "SNOWFLAKE_TEST_DATABASE":  "<your_database>",
        "SNOWFLAKE_TEST_SCHEMA":    "<your_schema>",
        "SNOWFLAKE_TEST_ROLE":      "<your_role>"
    }
}

Proxy

Libsnowflakeclient supports HTTP and HTTPS proxy connections using environment variables. To use a proxy server configure the following environment variables:

  • http_proxy
  • https_proxy
  • no_proxy
export http_proxy="[protocol://][user:password@]machine[:port]"
export https_proxy="[protocol://][user:password@]machine[:port]"

More info can be found on the libcurl tutorial page.

Run Tests

Run the tests. The test parameter environment variables will be set automatically.

Linux and OSX

./scripts/run_tests.sh

Windows

Add x64 or x86 for 64 bit or 32 bit Windows:

./scripts/run_tests.bat x64 Release

or

./scripts/run_tests.bat x86 Release

Profiling (Linux and OSX)

If you want to use gprof, add -p option to the build script, run a test program followed by gprof, for example:

./scripts/build_libsnowflakeclient.sh -p
./cmake-build/examples/ex_connect
gprof ./cmake-build/examples/ex_connect gmon.out

Check memory leak by Valgrind (Linux)

Use valgrind to check memory leak.

./scripts/build_libsnowflakeclient.sh
valgrind --leak-check=full ./cmake-build/examples/ex_connect

and verify no error in the output:

ERROR SUMMARY: 0 errors from 0 contexts ...

About

Snowflake Connector for C/C++

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 53.1%
  • C++ 29.3%
  • Roff 15.0%
  • CMake 2.0%
  • Shell 0.2%
  • Perl 0.2%
  • Other 0.2%