`ResultSet::getString()` throws `std::bad_alloc` with IBM Db2 CLI unless `getStringLength()` is called first.
まだ誰も着手していません。
評価
調査の方向性
Start with the reported ResultSet::getString() and getStringLength() behavior using the IBM Db2 CLI/ODBC driver on Ubuntu 22.04 with clang++ 18 or g++ and C++23. The uploaded odbc-cpp-wrapper-db2luw-test.cpp was not available, so first reproduce the failure and compare retrieval with and without the preceding length call; done means string retrieval succeeds without that workaround.
索引モデルが issue の本文から書いたものです。
説明
Summary
ResultSet::getString() throws std::bad_alloc when retrieving a string column through the IBM Db2 CLI/ODBC driver from C++ programs compiled with clang or g++ with -std=c++23 flag.
Calling ResultSet::getStringLength() for the same column immediately before getString() makes the retrieval succeed.
The query itself works correctly through isql, so the Db2 datasource, authentication, SQL statement, and IBM CLI/ODBC driver are functional.
Environment
- OS: Ubuntu 22.04
- Compiler: clang++ 18
- C++ standard: C++23
- Driver manager: unixODBC
- Database: IBM Db2 LUW
- Db2 driver: IBM Data Server Driver for ODBC and CLI
- Driver library:
libdb2.so - Wrapper:
odbc-cpp-wrapper
- 主要言語
- C++
- スター
- 53
- フォーク
- 30
- 平均マージ
- 5分
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
SAP/odbc-cpp-wrapper のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
SAP/odbc-cpp-wrapper#47 · コメント 3 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
SAP/odbc-cpp-wrapper#3 · コメント 2 件 ·
SAP/odbc-cpp-wrapper の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
utopia-rise/godot-jvm#1004 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信
-
new contributor
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
OpenMS/OpenMS#10512 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Component: R
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信