Обсуждение: Re: [Pgjdbc-commit] By jurka: Add some more synchronization to the

Поиск
Список
Период
Сортировка

Re: [Pgjdbc-commit] By jurka: Add some more synchronization to the

От
Markus Schaber
Дата:
Hi, Till,

CVS User Account wrote:
> Make _pgNameToSQLType static.

>      // pgname (String) -> java.sql.Types (Integer)
> -    private Map _pgNameToSQLType;
> +    private static final Map _pgNameToSQLType;

Are you shure this should be static, and not per connection?

AFAICS, it is possible to have two connections to different databases
having different extension types installed, leading to conflicting maps.

Thanks,
Markus

--
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf.     | Software Development GIS

Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org

Re: [Pgjdbc-commit] By jurka: Add some more synchronization

От
Kris Jurka
Дата:

On Mon, 22 May 2006, Markus Schaber wrote:

>>      // pgname (String) -> java.sql.Types (Integer)
>> -    private Map _pgNameToSQLType;
>> +    private static final Map _pgNameToSQLType;
>
> Are you shure this should be static, and not per connection?
>
> AFAICS, it is possible to have two connections to different databases
> having different extension types installed, leading to conflicting maps.
>

This maps betweeen a pg type name like varchar and a java.sql.Types value
like Types.VARCHAR.  There is a hardcoded list of pg types that the driver
knows about and can assign a Types value.  For types the driver doesn't
know anything about, all it can say is that it is Types.OTHER.  Note also
that in initialization it does:

_pgNameToSQLType = Collections.unmodifiableMap(pgNameToSQLType);

So there's no way it can get bad information into it.

Kris Jurka

Re: [Pgjdbc-commit] By jurka: Add some more synchronization

От
Markus Schaber
Дата:
Hi, Kris,

Kris Jurka wrote:

> This maps betweeen a pg type name like varchar and a java.sql.Types
> value like Types.VARCHAR.  There is a hardcoded list of pg types that
> the driver knows about and can assign a Types value.  For types the
> driver doesn't know anything about, all it can say is that it is
> Types.OTHER.

OK, I see.

I confused this with the typename -> OID map.

Sorry.
--
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf.     | Software Development GIS

Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org