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

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.


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:
For more information on JIRA, see:

View raw message