Re: [INTERFACES] JDBC API to send SimpleQuery ('Q')?

From: Karthik Segpi <karthik(dot)segpi(at)gmail(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [INTERFACES] JDBC API to send SimpleQuery ('Q')?
Date: 2014-04-25 15:56:24
Message-ID: CACD7L9EtkE9qPdc8ACyOs0GUzoEfhF972YfQO0e970SZ4CDM=Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces pgsql-jdbc

Thanks Tom. I just posted the question to 'pgsql-jdbc' and will follow up
there.

On Fri, Apr 25, 2014 at 11:54 AM, Karthik Segpi <karthik(dot)segpi(at)gmail(dot)com>wrote:

> I have the following Java code running in tomcat 7 using
> 'postgresql-9.3-1101-jdbc41.jar' driver.
>
> String str = "insert into tab1(a,b) values ('name', 'address');"
> Statement stmt = conn.createStatement();
> stmt.execute(str);
>
> Considering that this is *not* a PreparedStatement, I would have expected
> the driver to issue a Simple Query ('Q') instead of an ExtendedQuery ('P').
> However, when I print the incoming connection at my middleware (pgpool), I
> see the query being received is an ExtendedQuery ('P'). When I execute the
> same query in psql, it triggers a Simple Query ('Q') as expected.
>
> What am I missing here? Are there any other settings that I need to tweak?
>
> Thanks
>
>
> On Fri, Apr 25, 2014 at 11:30 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
>> Karthik Segpi <karthik(dot)segpi(at)gmail(dot)com> writes:
>> > I have the following Java code running in tomcat 7 using
>> > 'postgresql-9.3-1101-jdbc41.jar' driver.
>>
>> > String str = "insert into tab1(a,b) values ('name', 'address');"
>> > Statement stmt = conn.createStatement();
>> > stmt.execute(str);
>>
>> > Considering that this is *not* a PreparedStatement, I would have
>> expected
>> > the driver to issue a Simple Query ('Q') instead of an ExtendedQuery
>> ('P').
>> > However, when I print the incoming connection at my middleware
>> (pgpool), I
>> > see the query being received is an ExtendedQuery ('P'). When I execute
>> the
>> > same query in psql, it triggers a Simple Query ('Q') as expected.
>>
>> You'd be better off asking about the behavior of the JDBC driver on
>> pgsql-jdbc, but offhand I see nothing unreasonable about it if they
>> choose to use extended query protocol exclusively. Less code for
>> them to maintain, and it's not really less efficient as long as they
>> ensure messages get grouped into network packets appropriately.
>>
>> (psql goes the other direction, and doesn't use extended protocol
>> at all, AFAIR.)
>>
>> > What am I missing here? Are there any other settings that I need to
>> tweak?
>>
>> I think you could still force use of simple query mode by telling the
>> driver to use protocol version 2, but that has lots of downsides.
>>
>> regards, tom lane
>>
>
>

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message alpha_one_x86 2014-05-30 20:45:40 Console output with libpq
Previous Message Karthik Segpi 2014-04-25 15:54:46 Re: [INTERFACES] JDBC API to send SimpleQuery ('Q')?

Browse pgsql-jdbc by date

  From Date Subject
Next Message Tomonari Katsumata 2014-04-26 04:58:39 Re: About binaryTransfer.
Previous Message Karthik Segpi 2014-04-25 15:54:46 Re: [INTERFACES] JDBC API to send SimpleQuery ('Q')?