> When i use this SQL request : SELECT col1, cast(' ' as varchar(3)) as mycol > FROM mytable, getColumnDisplaySize return -5. > When i use this SQL request : SELECT col1, cast(' ' as varchar(3)) as mycol, > getColumnDisplaySize return 3 !!!! >
OK, I misunderstood your test case and was only looking at the second version which works. As you noted earlier the server is responding with a different typmod value, so this is not a JDBC problem, but a server regression and I've forwarded this on to the -bugs list. To summarize for them:
In 8.0 "SELECT ' '::varchar(3) FROM tab" retained the typmod value specified in the query, but in 8.1 it is lost and -1 is used instead.