Re: sql type reported for enum

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: rcohen(at)e1b(dot)org
Cc: List <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: sql type reported for enum
Date: 2015-08-19 01:56:55
Message-ID: CADK3HHLTqa0nhh0OX76cJ-PMr9m6D_=_YGuBuaLWs0E+MGjwXQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Quite likely according to your report.

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca

On 18 August 2015 at 17:21, <rcohen(at)e1b(dot)org> wrote:

> I have some metadata utilities that query jdbc column metadata,
> and I'm fairly certain that my enum colums, which used to be reported at
> Type.OTHER, are now being reported as Type.VARCHAR.
>
> That is,
> rs.*getInt*("DATA_TYPE")
> returns Type.OTHER
>
> The type names, however, seem to be correct. Thus,
> rs.*getString*("TYPE_NAME")
> returns the actual enum name.
>
> Not only does my code now behave differently, but I also
> see that 3rd party libraries (DBUnit) are also now missing
> enum columns.
>
> Thus, DBUnit's PostgresqlDataTypeFactory code for returning enums never
> gets hits because the sqlType is never Types.OTHER:
>
> if (sqlType == Types.OTHER)
> if ("uuid".equals(sqlTypeName))
> return new UuidType();
> else if ("interval".equals(sqlTypeName))
> return new IntervalType();
> else if ("inet".equals(sqlTypeName))
> return new InetType();
> else
> {
> // Finally check whether the user defined a custom datatype
> if(isEnumType(sqlTypeName))
> {
> if(logger.*isDebugEnabled*())
> return new GenericEnumType(sqlTypeName);
> }
> }
>
>
> So did something change recently in the drivers? I've recently upgraded
> my database from
> 9.1 to 9.4, along with my jdbc drivers.
>
> Thanks,
> Ross
>
> ------------------------------
>
>
> * Confidentiality Notice: This electronic message and any attachments may
> contain confidential or privileged information, and is intended only for
> the individual or entity identified above as the addressee. If you are not
> the addressee (or the employee or agent responsible to deliver it to the
> addressee), or if this message has been addressed to you in error, you are
> hereby notified that you may not copy, forward, disclose or use any part of
> this message or any attachments. Please notify the sender immediately by
> return e-mail or telephone and delete this message from your system.*
>

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Amit Kapila 2015-08-19 02:58:32 Re: Proposal: Implement failover on libpq connect level.
Previous Message rcohen 2015-08-18 21:21:59 sql type reported for enum