Thanks a lot Stefan and Fabian for your reply! I checked this in two clients so far: Squirrel and DBeaver, and in both I can see exactly the same behaviour. Later on I will try to test in a 3rd one.
Best regards,
Diethard


On Fri, May 10, 2013 at 10:34 AM, Fabian Groffen <fabian@monetdb.org> wrote:
On 10-05-2013 11:13:48 +0200, Stefan Manegold wrote:
> Hi Diethard,
>
> too me, this looks as if the server (correctly) serializes the TINYINT
> (MonetDB internal type bte) into a string to ship it via MAPI, but then the
> client (JDBC driver or Squirrel??) (incorrectly) does not parse the receives
> string as TINYINY (single-byte integer), but rather simply interprets the
> first character of the received string as single-byte integer, thus '1'
> becomes 49, i.e., the ASCII code of '1'.
>
> Could you please file a bug report to keep us reminded that we need to
> investigate and (if it's indeed the JDBC driver) fix it.

I recall having seen this before, then we couldn't find anything and
assumed a SquirrelSQL bug.  I think it's easy to check the driver
(JDBC) does the right thing by using JdbcClient and verifying that it
prints a number.  Maybe the mapping is incorrect at some place, but I
can hardly imagine, unless our sources do type mapping at Char or
something.

If someone wants to look, check MonetConnection, there should be a giant
switch where the monet types (see MonetDriver, getJavaType or something)
are mapped onto JDBC types according to the specs.  It should return a
java.sql.TINYINT for this case.  If not, we need to figure out if
there's a clash somehow, or just a prehistoric bug.

Thanks,
Fabian

--
Fabian Groffen                              fabian@monetdb.org
column-store pioneer               http://www.monetdb.org/Home

_______________________________________________
users-list mailing list
users-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/users-list