[ 
http://issues.apache.org/jira/browse/DERBY-695?page=comments#action_12357163 ] 

Daniel John Debrunner commented on DERBY-695:
---------------------------------------------

We should be clear that the JDBC spec defines *JDBC Types* and the SQL standard 
defines *SQL types*.

Thus they are not really in conflict, here, just defining types in different 
domains.

A JDBC driver *implementation* defines how it maps SQL types to JDBC types, I 
believe there is nothing violated by either standard by having a JDBC Type 
TINYINT being mapped to the SQL type SMALLINT for example.

Informix 9.2 according to this JDBC guide maps SMALLINT to TINYINT.

http://java.sun.com/j2se/1.3/docs/guide/jdbc/getstart/mapping.html

This mapping is reflected in the data returned by DatabaseMetaData.getTypeInfo

On an implementation note, the link above says TINYINT is valued 0-255 signed 
or unsigned, I do not believe that is what was implemented by Cloudscape, or 
any existing code in Derby. I seem to remember Cloudscape used a Java byte 
which holds values -128 to 127, thus its a good thing the TINYINT type was 
removed/disabled because it was non-standard on several fronts.

> Re-enable the TINYINT datatype
> ------------------------------
>
>          Key: DERBY-695
>          URL: http://issues.apache.org/jira/browse/DERBY-695
>      Project: Derby
>         Type: New Feature
>     Reporter: Rick Hillegas

>
> I would like to collect here the arguments for and against re-enabling the 
> TINYINT datatype. Once this discussion calms down, we can schedule a vote on 
> the issue.
> Background: Cloudscape used to support the TINYINT datatype, which was an 8 
> bit int. This datatype was hidden from customers as part of an effort to 
> remove all datatypes not supported by DB2. Re-enabling the datatype would not 
> require a lot of effort. Some arguments for and against re-enabling this 
> datatype can be found on the November 2005 email thread titled "New features 
> for next release .... (Was: Grant and Revoke ... DERBY-464...)".
> Here are the arguments in favor so far:
> + This datatype is defined by one of our key standards, JDBC. It is in JDBC 
> 2, 3, and 4, all of the JDBC revs supported by Derby 10.2.
> + This datatype is supported by some important databases, including MySQL, 
> Microsoft SQL Server, and Sybase.
> Here are the arguments against so far:
> - This datatype is not defined by our other key standard, ANSI SQL. Here our 
> two main standards diverge.
> - This datatype is not supported by some important databases, including 
> Oracle, DB2, and (some) Informix databases.
> Against this proposal, it was also argued that there was some sort of 
> friction with ODBC. I do not understand this argument: SQL_TINYINT is an ODBC 
> datatype. See 
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbcsql_data_types.asp.
> A friction with .NET was also suggested but I don't understand this either. 
> "byte" and "Sbyte" are the .NET 8-bit integer types. See 
> http://www.codersource.net/csharp_tutorial_data_types.html.
> A friction with Perl was also suggested but I don't understand this either.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to