Here is a more general solution: the mapping is done for SQL types
since it should be a fixed number of types.
Mats Ekelund
2008/3/31, Kris Jurka <books@ejurka.com>:
> Mats Ekelund wrote:
> >
> > I have attached the patch.
> >
>
> Please keep the mailing list CCed so all can see/participate in the
> discussion.
>
> + else if ( typname.equals("varchar") || typname.equals("char")
> || typname.equals("text") ||
> + typname.equals("name") || typname.equals("timestamp")
> || typname.equals("timestamptz") )
> + {
> + tuple[3] = connection.encodeString("'");
> + tuple[4] = connection.encodeString("'");
> + }
>
>
> Your patch hard codes this for a couple of types, but it doesn't seem to be
> a general solution. It seems impossible to enumerate all the possible types
> that require quoting. What about any user defined types, we can't possible
> know what those are in the driver?
>
> If you were going to hardcode a list, you need to hardcode the list of types
> that don't require quoting because that should at least be a fixed list. A
> more general solution would be to put this information into TypeInfoCache so
> you could say something like
> TypeInfoCache.requiresQuoting(typeOid).
>
> Kris Jurka
>