Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

apacheGH-30622: [GAC-42] Add Dremio flightsql-odbc seed #9

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
184 commits
Select commit Hold shift + click to select a range
71065fc
Initial empty repository
ryantse Nov 10, 2021
b3c744b
First draft
jcralmeida Nov 11, 2021
ca9184c
Test new workflow
Nov 11, 2021
ff5a898
WIP: Implement connection
Nov 16, 2021
81c84e1
Add other properties to Connect() method
Nov 17, 2021
a64c0fb
Add Attribuite methods and test class
jcralmeida Nov 17, 2021
6b9b0eb
Add gtest to cmake and vcpkg
jcralmeida Nov 17, 2021
d5f7f88
Test template
jcralmeida Nov 17, 2021
91f3586
Add vcpkg_installed and .idea to .gitignore
Nov 17, 2021
cf82c1e
Fix get and setAttrubute and add a couple of test case
jcralmeida Nov 18, 2021
143a447
Add comments and rename files from .cpp to .cc
Nov 18, 2021
6d1a019
WIP: Implement Connect
Nov 19, 2021
944c423
Create new cmakelist for subdirectory flight-sql
jcralmeida Nov 18, 2021
3d077ae
Create new cmakelist for subdirectory flight-sql
jcralmeida Nov 19, 2021
5b78d9c
Rename files to be consistent with Arrow's
Nov 19, 2021
1edfea3
Use LOGIN_TIMEOUT attribute when authenticating
Nov 19, 2021
fe96279
Set CONNECTION_DEAD attribute on Connect()
Nov 22, 2021
478dae3
Separate abstraction layer from Flight SQL implementation
Nov 22, 2021
cee6dc7
Add namespace to all classes
Nov 22, 2021
a2e7a4d
Rename client_ to sql_client_
Nov 22, 2021
69a8b75
Replace count/at usages to find()
Nov 22, 2021
3a7e481
Add OdbcException and AuthenticationException classes
Nov 22, 2021
f522471
Add unit tests for auxiliary functions
Nov 23, 2021
2295149
Change namespaces
Nov 23, 2021
5b427ea
Avoid 'using' statements on headers
Nov 23, 2021
7042b9f
cla
Nov 23, 2021
06f6bd3
Avoid including implementations of FlightSqlAuthMethod on flight_sql …
Nov 23, 2021
c16bcec
Reorder FlightSqlConnection fields
Nov 23, 2021
48311e9
Remove unimplemented constructor
Nov 23, 2021
0cc2ccd
Add comments to driver exceptions
Nov 23, 2021
31cbc91
Make sure properties are consistent with JDBC
Nov 23, 2021
c994493
Close connections on tests
Nov 23, 2021
382a469
Add Apache license to all files
Nov 23, 2021
2abbacd
Fix minor issues
Nov 24, 2021
0c840d3
Improve catch block on flight_sql_connection.cc
Nov 26, 2021
98a22d6
Fix mac build issues
jduo Jan 7, 2022
d6aeb29
Fix linking issues when building with gcc
Jan 10, 2022
660c6f7
Add CMake variables ARROW_GIT_REPOSITORY and ARROW_GIT_TAG to make it…
Jan 10, 2022
6b7c403
Address code review comments
jduo Jan 10, 2022
150de01
Tidy up indentation
jduo Jan 10, 2022
64dd5c1
Restructure for public headers
jduo Jan 13, 2022
b6cff9e
Decouple arrow flight connection property names from abstraction inte…
jduo Jan 13, 2022
e8efbb1
Make connection property map case-insensitve
jduo Jan 14, 2022
02ac2e5
Update AuthMethod to use ConnPropertyMap
jduo Jan 14, 2022
07baa23
Update test app for ConnPropertyMap
jduo Jan 14, 2022
b655fe6
Fix typo in test program using ConnPropertyMap
jduo Jan 14, 2022
80bd3b5
Remove dependency on Connection from Driver
jduo Jan 15, 2022
a4708a8
Use raw pointers for factory functions instead of shared_ptr
jduo Jan 15, 2022
36ec55b
Revert "Use raw pointers for factory functions instead of shared_ptr"
jduo Jan 15, 2022
b981ece
Track missing properties during the connection
jduo Jan 15, 2022
05e4225
Change ConnPropertyMap to always hold strings
jduo Jan 15, 2022
a79f7f5
Add comment about case-insensititivity.
jduo Jan 17, 2022
2909f83
Define Statement interface for ODBC abstraction
Jan 19, 2022
74048c5
Refactor docs from java pattern to doxygen format
jcralmeida Jan 20, 2022
9f753e3
Define ResultSet interface for ODBC abstraction
Jan 19, 2022
0264819
Fix code style issues on statement.h
Jan 20, 2022
cebc53a
Support basic query execution
jduo Jan 22, 2022
a383c45
Add ResultSetMetadata interface to odbc abstraction layer
jcralmeida Jan 20, 2022
a16bb5e
Fix build issues
jduo Jan 25, 2022
9952026
Define Accessor interface for ODBC abstraction
Jan 20, 2022
33f99ba
Implement minimal types on ResultSetMetadata
jcralmeida Jan 27, 2022
3319c2c
Implement Flight SQL result set
jcralmeida Jan 27, 2022
d4ee0e4
Remove double-definition of building arrow compute
jduo Feb 24, 2022
d72cbf7
Add Arrow compute to simplify Accessors
Feb 22, 2022
d4d8b6a
Implement CHAR/WCHAR convertions for StringArray
Feb 24, 2022
83bc108
DX-45559: Implement SQL-to-C data conversions - primitive number type…
Mar 3, 2022
7bde92d
DX-45572: Implement SQL-to-C conversion - SQL_BIT
Mar 4, 2022
dad012f
DX-45564: Implement SQL-to-C conversion - binary
Mar 4, 2022
c1637f4
Fix Mac build errors after adding bulk accessors
jduo Mar 8, 2022
bea1fef
DX-45556: Design a transformer that will change a RecordBatch accordi…
jcralmeida Mar 8, 2022
ee54839
FIXUP: test include issues
jduo Mar 21, 2022
09b987b
Implement GetInfo based on GetSqlInfo data
jduo Mar 16, 2022
f7426c6
Implement GetTables on FlightSqlStatement
Mar 9, 2022
6c6f4d5
Implement GetColumns_V3 and GetColumns_V2
Mar 16, 2022
8abd9cd
Implement connection attributes
jduo Mar 28, 2022
84b3694
Fix rebase error in connection
jduo Mar 31, 2022
624688b
Fix timeout attributes
jduo Mar 31, 2022
af3401e
Fix warpdrive build
Mar 29, 2022
50a818a
Modifications to support windows build
mcraealex-bq Mar 30, 2022
3055e25
Fix empty cells when testing with isql
Apr 14, 2022
1e76c5a
Statement attributes
jduo Apr 13, 2022
8387e34
Add token authentication
mcraealex-bq Apr 6, 2022
3f2d34d
Enhance GetColumns with more metadata
Mar 28, 2022
129f8b2
DX-49087: Convert complex type scalars to JSON
Apr 20, 2022
82dfcb8
Implement more accurate info on ResultSetMetadata
Apr 29, 2022
081e74f
Implement diagnostics management
jduo Apr 19, 2022
cac88e0
Implement GetTypeInfo
May 3, 2022
8675170
Add Boost Beast dependency to vcpkg
jduo May 6, 2022
e465f00
Fix Windows build errors
jduo Apr 5, 2022
15178fa
Fix ODBC v2 C Data Types mapping
May 5, 2022
26620be
Correct issues in GetInfoCache
jduo May 10, 2022
5362572
Implements accessor for date, time and timestamp
jcralmeida Apr 13, 2022
6747915
Change calendar_utils.cc from flightsql-odbc cmake file to the odbcab…
jcralmeida May 12, 2022
293a32e
Fix Mac build error with calendar code.
jduo May 12, 2022
c4841e5
Fix use of variable-length arrays in tests
jduo May 12, 2022
ef82d71
Decimal array accessor
May 9, 2022
c00e11f
Correctly report when catalogs are unsupported
jduo May 12, 2022
ba0dcac
Fix Windows build errors in datetime structs
jduo May 13, 2022
e6a2f94
Fix portability in numeric retrieval in CLI app
jduo May 13, 2022
fcaa5e6
Fix reported type for IS_NULLABLE in SQLColumns
jduo May 16, 2022
9107bde
Send unknown connection string properties as headers
jduo May 18, 2022
5d3e101
DX-50501: Run unit tests as part of post build step for flightsql-odbc
jhmannok May 20, 2022
f3abecd
Fix failing tests in the flightsql-odbc layer
jcralmeida May 24, 2022
81ab2a8
Add ssl connection options to the odbc flight sql layer
jcralmeida May 2, 2022
2ae47f9
Memory leak when using complex types that have binary data
jduo May 26, 2022
3a975f1
Change MacOS build to allow vcpkg configuration
jduo May 18, 2022
9989b2e
Avoid inclusion of extra windows headers
jduo May 26, 2022
8746f13
Add calendar types to default types and also refactor the converter l…
jcralmeida May 27, 2022
8143594
Add converter for the complex types
jcralmeida May 30, 2022
d4509b8
Partial support for query cancellation
May 18, 2022
ca98173
Fix FlightSqlStatement.GetTables behavior when passing "%"
May 27, 2022
b70858d
DX-50418: Implement Configuration Dialog
joyc-bq May 19, 2022
965bbe8
Add a new converter which perform the conversion from numeric type
jcralmeida May 31, 2022
4d5d3c5
Fix use of invalidated pointers in json_converter
jduo Jun 3, 2022
6cb2c83
Fix iterative SQLGetData
jduo Jun 3, 2022
22e9503
Migrate classes from warpdrive
jduo Jun 6, 2022
8c201cf
Fix SQLGetData not switching arrays when iterating chunks
jduo Jun 6, 2022
fcc21ce
Fix: FlightSqlResultSet#Move() overriding previous batches on bound c…
Jun 7, 2022
c4cf30a
Change default Arrow ref to specific master commit
Jun 8, 2022
b3efdaa
Fix format for SQL_DBMS_VER
jduo Jun 7, 2022
685792b
Make the IRD accessor non-const
jduo Jun 8, 2022
f305164
Adapt Flight SQL driver for the OLE DB to ODBC bridge
jduo Jun 8, 2022
848b55e
Add LICENSE and NOTICE files and ensure copyright headers are correct
Jun 7, 2022
f1c59fa
Fix Config Dialog Advanced Properties not saving correct value
joyc-bq Jun 10, 2022
2bab4e1
Fix crash when using SQLDisconnect after SQLExecute
jduo Jun 12, 2022
ba4b77f
Add test button to config dialog
jduo Jun 12, 2022
bd565bf
SQLGetInfo fixes
jduo Jun 13, 2022
acbeb03
Implement returning concise types
mcraealex-bq Jun 13, 2022
b7eafd8
Treat SQL_ATTR_AUTOCOMMIT as a SQLUINTEGER instead of SQLULEN
jduo Jun 15, 2022
9a0fce9
Match driver version SQLInfo with Warpdrive
Jun 15, 2022
1b6c553
Match the SQLState of auth errors with the legacy driver
Jun 16, 2022
f2070c6
Fix SQL_C_BINARY data conversions
Jun 17, 2022
0dfa89a
Fill up row status array
Jun 7, 2022
3179985
Fix build break in row status changes
jduo Jun 20, 2022
f0aed30
Fix re-use of statement after SQLCloseCursor
jduo Jun 20, 2022
8194136
Fix rows missing data when using block fetching
jduo Jun 20, 2022
e1815a0
Implement Precision and Scale on the driver side
jvictorhuguenin Jun 14, 2022
545d083
Fix misuse of bind offset ptr
jduo Jun 20, 2022
b01ec97
Fix incorrect SQLGetData iteration when buffer length is zero
jduo Jun 20, 2022
ae1c431
Make SQL_ROW_BIND_OFFSET_PTR lazily evaluated
jduo Jun 20, 2022
ecde2c0
Implement row-wise binding
jduo Jun 21, 2022
288f9d9
Add time to timestamp converter.
jcralmeida Jun 8, 2022
ec70dce
Small fix on time to timestamp converter
jcralmeida Jun 23, 2022
9e337e9
Revert "Fix SQL_C_BINARY data conversions"
Jun 23, 2022
5eacd98
Fix default sizes for GetLength, GetDisplaySize and GetOctetLength
jvictorhuguenin Jun 21, 2022
3315035
Fix for Conversions to SQL_C_NUMERIC from any type fails
Jun 24, 2022
1400a16
Improve connection error message and exceptions
jcralmeida Jun 22, 2022
82df917
Add support for StringColumnLength when Precision/Scale is not available
Jun 22, 2022
d9a7aca
Add UseWideChar property to connection
Jun 28, 2022
bb55473
Try to get the CN from the ip
jcralmeida Jun 24, 2022
3af08ec
Fix utils' GetDataTypeFromArrowField_V3 wrong return for string types
Jun 28, 2022
a93ed69
Allow setting SQL_DRIVER_VER externally
Jun 28, 2022
3ccda47
Fix crash when getting non-decimal data back as SQL_C_NUMERIC
jduo Jun 29, 2022
45c846c
Fix fractional seconds computation for SQL_C_TIMESTAMP
jduo Jun 29, 2022
56d4764
Fix SQLGetTypeInfo on ODBC v2 crashing
Jul 5, 2022
7595559
Make StringColumnLength property always override instead of being def…
Jul 5, 2022
8b37657
Fix DSN configuration window build
Jul 6, 2022
cea0b49
Fix non-UTF8 characters on Windows
Jul 5, 2022
1a0643d
Link boost libraries only on Windows
Jul 8, 2022
e27bfec
Minor optimizations for SQLFetch and SQLGetData
jduo Jul 14, 2022
0f03b0e
Fix issues connecting to cloud infrastructure
jduo Jul 7, 2022
8cfb8dc
Optimize accessor caching
jduo Jul 14, 2022
4988d3a
Accessor optimization
jduo Jul 15, 2022
992e080
Avoid trying to create accessors without an array
jduo Jul 18, 2022
edca287
Fix accessor caching when binding SQL_C_DEFAULT
jduo Jul 18, 2022
f28bb13
Allow setting the size of WCHAR
Jul 11, 2022
27fcc8e
Fix errors with SQL_C_DEFAULT
jduo Jul 18, 2022
7f632a4
Explicitly initialize and uninitialize grpc
jduo Jul 18, 2022
1d58e1e
Fix crash when using SQLBindCol with synthesized catalog columns
jduo Jul 19, 2022
8b6a980
Fix crash when retrieving data as timestamp
jduo Jul 19, 2022
f4adf4f
Set SQLWCHAR size depending on driver manager
Jul 19, 2022
770e42a
Rework GetSqlWCharSize for Mac
Jul 19, 2022
409d763
Fix error recording the detected encoding on Mac
jduo Jul 20, 2022
ed7c2ac
Fix crash with null scalar fields
jduo Jul 20, 2022
e886c31
Revert "Explicitly initialize and uninitialize grpc"
jduo Jul 21, 2022
c59cd82
Avoid duplicate conversion of string cells when retrieving partials
jduo Jul 19, 2022
67b0234
Fix typo causing windows build issue
jduo Jul 21, 2022
c1193d8
Fix crash with SQLGetInfo on string attributes
jduo Jul 23, 2022
814ba09
Implement logger interface
jcralmeida Jul 12, 2022
73696d9
Profiling Framework for ODBC
Jul 7, 2022
51ea3d2
Implement double-buffering
Jul 20, 2022
8451bed
Revert "Implement logger interface"
Jul 28, 2022
e9c5b4d
Reapply "Implement logger interface"
Jul 29, 2022
1ed9467
Move Dremio's `flightsql-odbc` seed to `cpp/src/flightsql_odbc`
alinaliBQ Dec 12, 2023
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
42 changes: 42 additions & 0 deletions cpp/src/flightsql_odbc/flightsql-odbc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
thirdparty/*.tar*
CMakeFiles/
CMakeCache.txt
CTestTestfile.cmake
Makefile
cmake_install.cmake
build/
*-build/
Testing/
build-support/boost_*

# Build directories created by Clion
cmake-build-*/

#########################################
# Editor temporary/working/backup files #
.#*
*\#*\#
[#]*#
*~
*$
*.bak
*flymake*
*.kdev4
*.log
*.swp

.idea
.vs
.vscode
vcpkg_installed
*-prefix
_deps
lib

build.*
.ninja_*
*lib*.a
*arrow_odbc_spi_impl_cli
*arrow_odbc_spi_impl_test
.cmake/
.cache/
40 changes: 40 additions & 0 deletions cpp/src/flightsql_odbc/flightsql-odbc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Copyright (C) 2020-2022 Dremio Corporation
#
# See "LICENSE" for license information.
#

cmake_minimum_required(VERSION 3.11)
set(CMAKE_CXX_STANDARD 11)

project(flightsql_odbc)

# Add Boost dependencies. Should be pre-installed (Brew on Mac).
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})

# Add ODBC dependencies.
if (APPLE)
set(ODBC_INCLUDE_DIRS /usr/local/Cellar/libiodbc/3.52.15/include)
add_compile_definitions(HAVE_LONG_LONG SQLCOLATTRIBUTE_SQLLEN WITH_IODBC)
else()
find_package(ODBC REQUIRED)
endif()
include_directories(${ODBC_INCLUDE_DIRS})

if(CMAKE_BUILD_TYPE STREQUAL "Release")
add_compile_definitions(NDEBUG)
endif()

# Fetch and include GTest
# Adapted from Google's documentation: https://google.github.io/googletest/quickstart-cmake.html#set-up-a-project
include(FetchContent)
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/609281088cfefc76f9d0ce82e1ff6c30cc3591e5.zip
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)

add_subdirectory(flight_sql)
add_subdirectory(odbcabstraction)
201 changes: 201 additions & 0 deletions cpp/src/flightsql_odbc/flightsql-odbc/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright (C) 2020-2022 - Dremio Corporation.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
31 changes: 31 additions & 0 deletions cpp/src/flightsql_odbc/flightsql-odbc/NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Dremio
Copyright © 2020-2022 Dremio Corporation

This software depends on external packages and source code.
The applicable license information is listed below.

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

----

This product includes software developed at
https://rapidjson.org/

Tencent is pleased to support the open source community by making RapidJSON available.

Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.

If you have downloaded a copy of the RapidJSON binary from Tencent, please note that the RapidJSON binary is licensed under the MIT License.
If you have downloaded a copy of the RapidJSON source code from Tencent, please note that RapidJSON source code is licensed under the MIT License, except for the third-party components listed below which are subject to different license terms. Your integration of RapidJSON into your own projects may require compliance with the MIT License, as well as the other licenses applicable to the third-party components included within RapidJSON. To avoid the problematic JSON license in your own projects, it's sufficient to exclude the bin/jsonchecker/ directory, as it's the only code under the JSON license.
A copy of the MIT License is included in this file.
52 changes: 52 additions & 0 deletions cpp/src/flightsql_odbc/flightsql-odbc/build_win32.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
@rem
@rem Copyright (C) 2020-2022 Dremio Corporation
@rem
@rem See "LICENSE" for license information.
@rem

@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem

@REM Please define ARROW_GIT_REPOSITORY to be the arrow repository. If this is a local repo,
@REM use forward slashes instead of backslashes.

@REM Please define VCPKG_ROOT to be the directory with a built vcpkg. This path should use
@REM forward slashes instead of backslashes.

@ECHO OFF

%VCPKG_ROOT%\vcpkg.exe install --triplet x86-windows --x-install-root=%VCPKG_ROOT%/installed

if exist ".\build" del build /q

mkdir build

cd build

if NOT DEFINED ARROW_GIT_REPOSITORY SET ARROW_GIT_REPOSITORY = "https://github.com/apache/arrow"

cmake ..^
-DARROW_GIT_REPOSITORY=%ARROW_GIT_REPOSITORY%^
-DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake^
-DVCPKG_TARGET_TRIPLET=x86-windows^
-DVCPKG_MANIFEST_MODE=OFF^
-G"Visual Studio 17 2022"^
-A Win32^
-DCMAKE_BUILD_TYPE=release

cmake --build . --parallel 8 --config Release

cd ..
Loading
Loading