db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel John Debrunner (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-695) Re-enable the TINYINT datatype
Date Wed, 09 Nov 2005 23:05:05 GMT
    [ 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


Mime
View raw message