Bug #81688 [Com]: PDO_ODBC doesn't handle fixed-length character columns with character conversio

From: Date: Fri, 17 Feb 2023 01:27:05 +0000
Subject: Bug #81688 [Com]: PDO_ODBC doesn't handle fixed-length character columns with character conversio
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-243741@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=81688&edit=1 ID: 81688 Comment by: lofic at gmail dot com Reported by: calvin at cmpct dot info Summary: PDO_ODBC doesn't handle fixed-length character columns with character conversio Status: Assigned Type: Bug Package: PDO ODBC Operating System: IBM i 7.2 PHP Version: 8.0.13 Assigned To: cmb Block user comment: N Private report: N New Comment: https://letterboxd.com/ketoplanet2020/).php.net Previous Comments: ------------------------------------------------------------------------ [2022-06-21 13:27:28] cmb@php.net Thanks for the update, and the reminder! :) I shall have a look at this tomorrow. ------------------------------------------------------------------------ [2022-06-20 17:43:36] calvin at cmpct dot info FWIW, as an update: IBM released a new version of the Db2i driver that's worked around the issue for us by reporting the size after conversion. However, the underlying bug in PDO_ODBC/odbc is still lurking and could affect other drivers, so it's still worth pursuing a fix for it. ------------------------------------------------------------------------ [2022-01-26 20:56:02] calvin at cmpct dot info Nitpick I have found that probably doesn't matter: odbc_result_all doesn't work with the patch, it seems. It's deprecated, so I assume it's not a big deal, but it's something I noticed debugging some unrelated code. ------------------------------------------------------------------------ [2022-01-20 19:11:37] calvin at cmpct dot info Brief update w/ the PDO_ODBC patch from last week: The user does report the patch works for them without any (noticeable) performance regression. Probably a bit rough still, but good to know so far. ------------------------------------------------------------------------ [2022-01-14 16:49:39] cmb@php.net > So, I've ported the logic over for PDO_ODBC and I have the patch > here: […] Ah, cool! It might be possible to simplify further by just setting S->going_long = 1 early (but that doesn't matter for now). > coercing to string, have to get assembled in a 256 byte buffer > piecemeal I think that code is indeed rather suboptimal. I still wonder why fetching in small chunks is claimed to be faster than reading a single chunk[1]. > PDO_ODBC is *noticeably* faster at least on Linux. That's interesting! Might be worth investigating. [1] <https://github.com/php/php-src/pull/6716#issuecomment-783461335> ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=81688 -- Edit this bug report at https://bugs.php.net/bug.php?id=81688&edit=1

« previous php.bugs (#243741) next »