Skip to content

Latest commit

 

History

History
139 lines (86 loc) · 3.7 KB

README.rst

File metadata and controls

139 lines (86 loc) · 3.7 KB

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 ...