Re: About binaryTransfer.
От | Tomonari Katsumata |
---|---|
Тема | Re: About binaryTransfer. |
Дата | |
Msg-id | 533D1DD2.7030202@po.ntts.co.jp обсуждение исходный текст |
Ответ на | Re: About binaryTransfer. (Tomonari Katsumata <katsumata.tomonari@po.ntts.co.jp>) |
Ответы |
Re: About binaryTransfer.
(Dave Cramer <pg@fastcrypt.com>)
|
Список | pgsql-jdbc |
Hi Dave, Did you check my pull-request? https://github.com/pgjdbc/pgjdbc/pull/128 I don't want to use 9.2-1004 Driver, because it has some bugs about setQueryTimeout fixed by Heikki(*). (*) http://www.postgresql.org/message-id/52A0D28A.7040902@vmware.com So I need the PostgreSQL Driver 9.3-1101 have good performance like 9.2-1004 as soon as possible. Could you check it please? If I'm missing something, please tell me it! regards, ------------------------ Tomonari Katsumata (2014/03/06 18:13), Tomonari Katsumata wrote: > Hi Dave, > > I've misunderstood the behavior of this problem. > The main problem is that the Describe message is send/receive > repeatedly, if user don't want to do so. > > The pull-request I've sent before(#124) didn't solve the problem. > > Now, I fixed it and sent a new pull-request. > https://github.com/pgjdbc/pgjdbc/pull/128 > > Please check it! > > regards, > ---------------------- > Tomonari Katsumata > > (2014/02/23 9:34), Tomonari Katsumata wrote: > > Hi Dave, > > I sent a Pull Request about this. > > https://github.com/pgjdbc/pgjdbc/pull/124 > > > > regards, > > ------------------- > > Tomonari Katsumata > > > > > > 2014-02-21 21:09 GMT+09:00 Dave Cramer <pg@fastcrypt.com>: > > > >> Please submit a Pull Request > >> > >> Dave Cramer > >> > >> dave.cramer(at)credativ(dot)ca > >> http://www.credativ.ca > >> > >> > >> On Fri, Feb 21, 2014 at 3:57 AM, Tomonari Katsumata < > >> katsumata.tomonari@po.ntts.co.jp> wrote: > >> > >>> Hi Mikko, > >>> > >>> Thank you for the explanation. > >>> > >>> I agree with your proposal adding prepareThreshold=-1. > >>> > >>> If there are no objection, I'll do for it! > >>> > >>> regards, > >>> ---------------- > >>> Tomonari Katsumata > >>> > >>> > >>> (2014/02/21 16:50), Mikko Tiihonen wrote: > >>>> Before the patch the functionality was (if binaryTransfer=true): > >>>> - prepared statements after prepareThreshold were done in binary mode > >>>> - forceBinary=true could be enabled to force all statements (prepared + > >>> one-shot) to be executed in binary mode (at cost of extra round-trip) > >>>> > >>>> After the patch in question (if binaryTransfer=true): > >>>> - All prepared statements have extra round-trip before on first use and > >>> are immediately in binary mode > >>>> - forceBinary=true can be enabled to force also one-shot statements to > >>> be executed in binary mode (at cost of extra round-trip) > >>>> > >>>> Since there are users that use prepared statements in one-shot way > >>> (prepare+execute+discard) the patch adds a mandatory extra round-trip for > >>> them. > >>>> > >>>> As a side note: the forceBinary is meant only as a debug flag (used for > >>> example in pgjdbc tests), not for production use. > >>>> > >>>> So the only thing the before-state could not do was to use binary > >>> transfers for the first prepared statement execution. This is because > >>> setting prepareThreshold=0 disables the prepare instead of preparing before > >>> first use. > >>>> > >>>> I propose we revert that patch and instead add support for > >>> prepareThreshold=-1 which would force prepare+describe to be done even for > >>> the first execution. That would allow users to keep controlling the > >>> behavior instead of forcing binary transfers immediately? > >>>> Alternatively we can separate the binary transfer logic from statement > >>> prepare threshold and add a separate binaryThreshold. > >>>> > >>>> -Mikko > >>>> ________________________________________ > >>>> From: pgsql-jdbc-owner@postgresql.org <pgsql-jdbc-owner@postgresql.org> > >>> on behalf of Tomonari Katsumata <katsumata.tomonari@po.ntts.co.jp> > >>>> Sent: 21 February 2014 08:40 > >>>> To: pgsql-jdbc@postgresql.org > >>>> Subject: [JDBC] About binaryTransfer. > >>>> > >>>> Hi, > >>>> > >>>> I have a peformance trouble with 9.3-1100 driver. > >>>> Running same application(*) with 9.2-1004 and 9.3-1100, > >>>> It does another behavior. > >>>> (*) Retrieving 9990 rows with preparedStatement. > >>>> > >>>> 9.2-1004: > >>>> Always flags = 16. > >>>> ---- > >>>> 14:09:55.730 (1) simple execute, > >>>> handler=org.postgresql.jdbc2.AbstractJdbc2Statement$ > >>> StatementResultHandler@8232a5d, > >>>> maxRows=0, fetchSize=0, flags=16 > >>>> 14:09:55.878 (1) simple execute, > >>>> handler=org.postgresql.jdbc2.AbstractJdbc2Statement$ > >>> StatementResultHandler@34e671de, > >>>> maxRows=0, fetchSize=0, flags=16 > >>>> ---- > >>>> > >>>> 9.3-1100 > >>>> Repeatedly flags = 48 and 16. > >>>> The count of "flags=16" is same with 9.2-1004, so > >>>> "flags=48" is extra executing. > >>>> ---- > >>>> 14:20:34.991 (1) simple execute, > >>>> handler=org.postgresql.jdbc2.AbstractJdbc2Statement$ > >>> StatementResultHandler@19cdbc83, > >>>> maxRows=0, fetchSize=0, flags=48 > >>>> 14:20:34.992 (1) simple execute, > >>>> handler=org.postgresql.jdbc2.AbstractJdbc2Statement$ > >>> StatementResultHandler@304b0cbc, > >>>> maxRows=0, fetchSize=0, flags=16 > >>>> ---- > >>>> > >>>> This change has caused by below commit. > >>>> https://github.com/pgjdbc/pgjdbc/commit/dbf76c2d662896c5703cf20d7362e1 > >>> d061e1e43f > >>>> > >>>> It seems that binarytransfer mode is good at dealing with > >>>> big-data(many columns?many rows?), but some packets are > >>>> sent/received for this function, right? > >>>> > >>>> I want to make 9.3-1100 driver do old behavior like 9.2-1004. > >>>> What can I do ? > >>>> > >>>> regards, > >>>> ---------------- > >>>> Tomonari Katsumata > >>>> > >>>> > >>>> > >>>> > >>>> -- > >>>> Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org) > >>>> To make changes to your subscription: > >>>> http://www.postgresql.org/mailpref/pgsql-jdbc > >>>> > >>>> > >>> > >>> > >>> > >>> > >>> -- > >>> Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org) > >>> To make changes to your subscription: > >>> http://www.postgresql.org/mailpref/pgsql-jdbc > >>> > >> > >> > > > > >
В списке pgsql-jdbc по дате отправления:
Предыдущее
От: Michael PaquierДата:
Сообщение: Re: [BUGS] Timezone error when casting. Maybe daylight saving