Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ or Client Credential Auth.
Other tools, environments, and authentication methods are not officially supported
at this time. However, we welcome contributions that extend support to new
frontiers. If you encounter issues outside these supported configurations and
have an intention to contribute an improvement, we welcome your feature request.
have an intention to contribute an improvement, we welcome your feature request.

If your use case falls outside the supported configurations and you cannot
contribute an improvement at this time, we recommend evaluating commercial,
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/make_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ jobs:
build:
runs-on: windows-2022

env:
WIX_VERSION: "5.0.2"

steps:
- name: Checkout code
uses: actions/checkout@v4
Expand Down Expand Up @@ -43,11 +46,11 @@ jobs:

- name: Add WiX dotnet package
run: |
dotnet tool install --global wix
dotnet tool install --global wix --version ${{ env.WIX_VERSION }}

- name: Add WiX UI extension
run: |
wix extension add -g WixToolset.UI.wixext
wix extension add -g WixToolset.UI.wixext/${{ env.WIX_VERSION }}

- name: Build x86 installer
shell: pwsh
Expand Down Expand Up @@ -97,4 +100,4 @@ jobs:
installers/TrinoODBC_x86.msi
installers/TrinoODBC_x64.msi
installers/LICENSE.rtf
installers/third_party_licenses.txt
installers/third_party_licenses.txt
8 changes: 8 additions & 0 deletions .github/workflows/pull-request-code-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ on:
- '**/*.yaml'
- '**/CMakeLists.txt'

permissions:
contents: read

jobs:
pr-code-scan:
runs-on: ubuntu-latest
Expand All @@ -17,6 +20,11 @@ jobs:
# Checkout the code
- name: Checkout code
uses: actions/checkout@v4
with:
# Depth 0 gets all history for all branches. This
# enables the clang-format check to compare this PR
# against origin/main to see what's changed.
fetch-depth: 0

# Run the trailing whitespace check
- name: Check for trailing whitespace
Expand Down
11 changes: 9 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,17 @@ find_package(nlohmann_json CONFIG REQUIRED)
add_library(TrinoODBC SHARED
"src/trinoAPIWrapper/authProvider/tokens/tokenCache.cpp"
"src/trinoAPIWrapper/authProvider/tokens/tokenParser.cpp"
"src/trinoAPIWrapper/authProvider/clientCredAuthProvider.cpp"
"src/trinoAPIWrapper/authProvider/clientCredAuthProvider.cpp"
"src/trinoAPIWrapper/authProvider/externalAuthProvider.cpp"
"src/trinoAPIWrapper/authProvider/noAuthProvider.cpp"
"src/trinoAPIWrapper/authProvider/tokenCacheAuthProviderBase.cpp"
"src/trinoAPIWrapper/authProvider/tokenCacheAuthProviderBase.cpp"
"src/trinoAPIWrapper/authProvider/deviceFlowAuthProvider.cpp"
"src/trinoAPIWrapper/trinoQuery.cpp"
"src/trinoAPIWrapper/connectionConfig.cpp"
"src/trinoAPIWrapper/environmentConfig.cpp"
"src/trinoAPIWrapper/columnDescription.cpp"
"src/trinoAPIWrapper/trinoExceptions.cpp"
"src/trinoAPIWrapper/TrinoOdbcErrorHandler.cpp"
"src/driver/config/configDSN.cpp"
"src/driver/config/driverConfig.cpp"
"src/driver/config/dsnConfigForm.cpp"
Expand All @@ -56,6 +58,7 @@ add_library(TrinoODBC SHARED
"src/util/b64decoder.cpp"
"src/util/capitalize.cpp"
"src/util/cryptUtils.cpp"
"src/util/dateAndTimeUtils.cpp"
"src/util/decimalHelper.cpp"
"src/util/delimKvphelper.cpp"
"src/util/rowToBuffer.cpp"
Expand Down Expand Up @@ -135,6 +138,8 @@ add_executable(TestDriver
"test/connections/connectTest.cpp"
"test/fixtures/sqlDriverConnectFixture.cpp"
"test/functions/testCancel.cpp"
"test/functions/testColumns.cpp"
"test/functions/testDescribeCol.cpp"
"test/functions/testGetConnectAttr.cpp"
"test/functions/testGetInfo.cpp"
"test/functions/testTables.cpp"
Expand All @@ -146,7 +151,9 @@ add_executable(TestDriver
"test/types/fetchGetDataTest.cpp"
"test/unit/util/base64decoderTest.cpp"
"test/unit/util/cryptUtilsTest.cpp"
"test/unit/util/dateAndTimeUtilsTest.cpp"
"test/unit/util/stringTrimTest.cpp"
"test/unit/util/valuePtrHelperTest.cpp"
"test/constants.cpp"
"test/gtestTest.cpp"
)
Expand Down
27 changes: 11 additions & 16 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,17 @@ how small, is welcome.

# How to contribute

Beginning a contribution is easy - just open an issue in this GitHub repo
and tell us about the bug you found or the idea you have for what you
would like to contribute. Both bug report and feature request issue
templates are available to to get you started. After opening your
issue, someone from the project team will respond to discuss your
idea to help you make a plan for your contribution. In many cases,
the plan will involve you submitting a pull request to the project
containing the contribution you would like to make so we can review
it and help you iterate and eventually merge it to be an official
part of the project. By opening an issue and starting a discussion,
we can make sure the maintenance team is ready for your pull request.
If you need further guidance, just ask for more guidance in the
issue you open. We're happy to help.

Please note we have a [Code of Conduct](./CODE_OF_CONDUCT.md), please
follow it in all your interactions with the project.
## Contributor License Agreement ("CLA")

In order to accept your pull request, we need you to [submit a CLA](https://github.com/trinodb/cla).

## License

By contributing to Trino, you agree that your contributions will be licensed under the [Apache License Version 2.0 (APLv2)](../LICENSE).

## Contribution process

See the suggested [process for contributions](https://trino.io/development/process.html).

## Getting started

Expand Down
21 changes: 14 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Project Overview: Trino ODBC Driver (Partial Implementation)

[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)]()
[![Latest Release](https://img.shields.io/github/v/release/corteva/trino-odbc.svg)]()
[![Build Status](https://img.shields.io/github/actions/workflow/status/corteva/trino-odbc/make_release.yml.svg)]()
[![Contributors](https://img.shields.io/github/contributors/corteva/trino-odbc.svg)]()
[![Latest Release](https://img.shields.io/github/v/release/trinodb/trino-odbc.svg)]()
[![Build Status](https://img.shields.io/github/actions/workflow/status/trinodb/trino-odbc/make_release.yml.svg)]()
[![Contributors](https://img.shields.io/github/contributors/trinodb/trino-odbc.svg)]()
[![Code Style](https://img.shields.io/badge/Code%20Style-Clang%20Format-blue.svg)]()

## Description
Expand All @@ -19,12 +19,12 @@ options for these tools on the Windows operating system within
the Open Source Trino community.

Note: this project is not sponsored by or affiliated with
the Trino Software Foundation or Microsoft in any way.
Microsoft in any way.

### :warning: Disclaimer: Scope and Limitations :warning:

This driver is tested to work within a very narrow scope on Windows
PCs configured for use within our organization. Specifically, we target
PCs and servers that utilize BI tools. Specifically, we target
compatibility with Microsoft Excel and PowerBI Desktop with External
Authentication and Client Credential Auth. Other tools, forms of
authentication, and functionality of the ODBC specification were
Expand Down Expand Up @@ -207,9 +207,9 @@ this driver.
.NET SDK. Instructions for Visual Studio:
1. https://stackoverflow.com/questions/69045231/nuget-package-sources-missing
1. Begin by installing the WiX tool on your system using the .NET SDK.
1. Run `dotnet tool install --global wix`
1. Run `dotnet tool install --global wix --version 5.0.2`
1. Add the WiX UI extension.
1. `wix extension add -g WixToolset.UI.wixext`
1. `wix extension add -g WixToolset.UI.wixext@5.0.2`
1. Build the installer
1. `cd install`
1. `./build_x64_installer.ps1` (for a 64-bit installer)
Expand Down Expand Up @@ -289,3 +289,10 @@ a 32 or 64-bit driver.

A treasure trove of API documentation for the ODBC API is available
[here](https://learn.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference?view=sql-server-ver16).

## Acknowledgements

Initial development of this driver was supported by
[Corteva Agriscience](https://www.corteva.com)
and released as open source under the Apache License 2.0.
We gratefully acknowledge their contribution to the Trino community.
12 changes: 6 additions & 6 deletions install/TrinoODBC_x64.wxs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui" >
<Package Name="TrinoODBC 64-bit"
Language="1033"
Version="0.0.1"
Manufacturer="Trino"
<Package Name="TrinoODBC 64-bit"
Language="1033"
Version="0.0.1"
Manufacturer="Trino"
UpgradeCode="2cc2e3fc-3a87-493d-99d0-643c3dd1df59"
InstallerVersion="500"
Compressed="yes"
InstallerVersion="500"
Compressed="yes"
Scope="perMachine">
<MajorUpgrade AllowSameVersionUpgrades="yes"
DowngradeErrorMessage="A newer version of the TrinoODBC 64-bit driver is already installed"/>
Expand Down
12 changes: 6 additions & 6 deletions install/TrinoODBC_x86.wxs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui" >
<Package Name="TrinoODBC 32-bit"
Language="1033"
Version="0.0.1"
Manufacturer="Trino"
<Package Name="TrinoODBC 32-bit"
Language="1033"
Version="0.0.1"
Manufacturer="Trino"
UpgradeCode="d487a26c-ac90-487e-b332-e8ea34733229"
InstallerVersion="500"
Compressed="yes"
InstallerVersion="500"
Compressed="yes"
Scope="perMachine">
<MajorUpgrade AllowSameVersionUpgrades="yes"
DowngradeErrorMessage="A newer version of the TrinoODBC 32-bit driver is already installed"/>
Expand Down
Loading