Patch to fix bug #6293 - regression in driver performance with regards to ResultSetMetaData-heavy workloads

Поиск
Список
Период
Сортировка
От Steven Schlansker
Тема Patch to fix bug #6293 - regression in driver performance with regards to ResultSetMetaData-heavy workloads
Дата
Msg-id 5CBAD10C-C4DB-4AE3-ADB4-8197E0AA4146@likeness.com
обсуждение исходный текст
Ответы Re: Patch to fix bug #6293 - regression in driver performance with regards to ResultSetMetaData-heavy workloads
Список pgsql-jdbc
Hi,

There is a bug report and associated mailing list thread
[JDBC] [BUGS] BUG #6293: JDBC driver performance, dated Nov 15 2011

>>>
>>> The following bug has been logged online:
>>>
>>> Bug reference:      6293
>>> PostgreSQL version: 9.1
>>> Description:        JDBC driver performance
>>> Details:
>>
>> The 9.1 JDBC driver was changed to try and fetch all metadata for the
>> entire resultset in one query instead of potentially issuing multiple
>> queries for each column.  So this change was supposed to improve things.
>>
>> Looking at the code, the caching pattern has changed slightly, so now it's
>> important to hold onto the same ResultSetMetaData instance.  That is you
>> need to do:

I have a proposed fix available as a pull request on GitHub.  The commit itself is here:
https://github.com/NessComputing/pgjdbc/commit/15dee25198c0a7a4d3bdeca2193a003d552fac2f

and the pull request complete with an in-progress discussion is here:
https://github.com/pgjdbc/pgjdbc/pull/1

I requested guidance on the mailing list last week on the best way to approach this problem,
but there were no responses, so I have changed the ResultSet to cache the MetaData instances.

As best as I can tell the MetaData is immutable, so hopefully there will be no ill effects from
caching instances.

I saw some discussion about licensing re: GitHub on the mailing list the other day, so to be
perfectly clear I am releasing this code to the pgsql-jdbc project under whatever terms they
so choose, or the public domain if that is the appropriate choice.

I hope this will be an example of how moving to GitHub pull requests can be a positive change :-)


I believe this fixes the referenced bug, and I've asked the original submitter to test out my change
to see if it fixes it for him.

Regards,
Steven Schlansker
Ness Computing


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Dave Cramer
Дата:
Сообщение: Re: bug on to do list reproducable at version 9.0-801
Следующее
От: Dave Cramer
Дата:
Сообщение: Fwd: [pgjdbc] Change Jdbc4ResultSet to cache Jdbc4ResultSetMetaData instances (#1)