Re: patch: tiny patch to correct stringbuffer size estimate

From: Barry Lind <blind(at)xythos(dot)com>
To: Felipe Schnack <felipes(at)ritterdosreis(dot)br>
Cc: Oliver Jowett <oliver(at)opencloud(dot)com>, pgsql-jdbc(at)postgresql(dot)org
Subject: Re: patch: tiny patch to correct stringbuffer size estimate
Date: 2003-07-22 16:10:00
Message-ID: 3F1D61D8.6030508@xythos.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Felipe,

Why do you think the synchronizations are unnecessary?

Consider the following code:

synchronized (sbuf)
{
sbuf.setLength(0);
sbuf.ensureCapacity(x.length() + (int)(x.length() / 10));
sbuf.append('\'');
escapeString(x, sbuf);
sbuf.append('\'');
bind(parameterIndex, sbuf.toString(), type);
}

If two thread where to perform this code at the same time using the same
sbuf the results would be garbage even if the methods on sbuf are all
syncronized. It is the set of actions on sbuf here that needs to be
syncronized, not each individual call. I beleive all the uses of
synchronization in the driver are of a similar usage pattern.

thanks,
--Barry

Felipe Schnack wrote:
> These StringBuffer woes remember of an old request we made to this list... The last time I checked driver's sources, all acess to preparedstatement's stringbuffer are synchronized... this isn't necessary as jre's Stringbuffer already has all of its methods synchronized.
> The driver is still doing that? Just curious.
>
> On Wed, 23 Jul 2003 01:54:53 +1200
> Oliver Jowett <oliver(at)opencloud(dot)com> wrote:
>
>
>>This patch tweaks the size estimate when escaping strings to count the
>>enclosing quotes.
>>
>>-O
>>
>
>
>

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Felipe Schnack 2003-07-22 16:36:48 Re: patch: tiny patch to correct stringbuffer size estimate
Previous Message Fernando Nasser 2003-07-22 16:05:57 Re: IN clauses via setObject(Collection) [Was: Re: Prepared