Обсуждение: Re: [Pgjdbc-commit] By jurka: Add some more synchronization to the
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
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
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