Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Work Item / Issue Reference
Summary
This pull request adds support for retrieving ODBC driver and data source information through a new
getinfo
method on the PythonConnection
class. It introduces a comprehensive set of ODBC info constants, implements the necessary C++ bindings to callSQLGetInfo
, and exposes this functionality to Python. The changes also include tests and documentation for the new feature.New Feature: Driver and Data Source Information Retrieval
getinfo
method to the PythonConnection
class, allowing users to query various ODBC driver and data source properties. This method checks connection state and delegates to the underlying C++ implementation.GetInfoConstants
enum inconstants.py
containing a wide set of ODBC information codes for use withgetinfo
.C++ Backend and Bindings
getInfo
method in the C++Connection
andConnectionHandle
classes, which callsSQLGetInfoW
and returns the result as the appropriate Python type (string or integer).SQLGetInfoFunc
typedef, function pointer, and dynamic loading logic in the C++ bindings to supportSQLGetInfoW
. Updated the module to exposeget_info
to Python.Testing and Usability
GetInfoConstants
assql_const
in the test suite to facilitate usage in tests.