FEAT: Adding Columns API in cursor #199
Open
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 column metadata from SQL tables via a new
columns
method on theCursor
class, and exposes the underlying ODBCSQLColumns
function through the C++ and Python bindings. The main changes introduce the necessary function pointer, wrapper, and Python binding, as well as the implementation of the new method in Python.Python API enhancements:
columns
method to theCursor
class incursor.py
that retrieves column information for specified tables using the ODBCSQLColumns
function. This method includes documentation, argument handling, and returns a list ofRow
objects with detailed column metadata.C++ bindings and driver integration:
SQLColumnsFunc
, its global variable, and ensured it is loaded from the driver inddbc_bindings.h
andddbc_bindings.cpp
.SQLColumns_wrap
function to call the ODBCSQLColumns
API, handling platform differences between Unix and Windows.DDBCSQLColumns
function to Python via pybind11 in the module definition.