You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-dev@db.apache.org by "Thomas Dudziak (JIRA)" <ji...@apache.org> on 2006/07/13 08:56:32 UTC

[jira] Updated: (DDLUTILS-86) New attribute of Column. Native type is a value of TYPE_NAME in the result set of DataBaseMetadata.getColumns(...).

     [ http://issues.apache.org/jira/browse/DDLUTILS-86?page=all ]

Thomas Dudziak updated DDLUTILS-86:
-----------------------------------

    Fix Version: 1.1

> New attribute of Column. Native type is a value of TYPE_NAME in the result set of DataBaseMetadata.getColumns(...).
> -------------------------------------------------------------------------------------------------------------------
>
>          Key: DDLUTILS-86
>          URL: http://issues.apache.org/jira/browse/DDLUTILS-86
>      Project: DdlUtils
>         Type: New Feature

>   Components: Core
>     Reporter: Yauheni Prykhodzka
>     Assignee: Thomas Dudziak
>     Priority: Minor
>      Fix For: 1.1

>
> It was been discussing with Thomas Dudziak. We try to use DdlUtils to compare two and more databases. In some cases we need the functionality of JDBC call DataBaseMetadata.getColumns(...). This call returns among other things the native type of the column as well. Sometimes it's different than hard coded predefined types for a platform. This difference is very important if you compare two databases. Here is the begin of my email to Thomas about that problem:
> > i'm developing now a small tool that should compare
> > databases (of the same type). I need to get native
> > types possibly without any modifications. For example
> > the base implementation of DdlUtils returns SMALLINT
> > instead of TYNIINT for MySql. Probably i can get
> > SMALLINT both for TYNIINT and for some other native
> > type if i'll use the current implementation of
> > DdlUtils. So the result of the compare can be wrong in
> > this case!
> Here also changes of classes Column and JdbcModelReader.
> Column:
> 66,68d65
> <     
> <     /** native data type */
> <     private String _nativeDataType;
> 516,518d512
> <             
> <             // compare native data type
> <             comparator.append(_nativeDataType,         other.getNativeDataType());
> 554c548
> <         builder.append(_nativeDataType);
> ---
> >         builder.append(getParsedDefaultValue());
> 560,562d553
> <         // native data type
> <         builder.append(getNativeDataType());
> <         
> 577,579d567
> <         // native data type
> <         result.append("; native type=");
> <         result.append(_nativeDataType);
> 616,618d603
> <         // native data type
> <         result.append("; native type=");
> <         result.append(_nativeDataType);        
> 623,636d607
> < 
> < 	/**
> < 	 * @return Returns the _nativeDataType.
> < 	 */
> < 	public String getNativeDataType() {
> < 		return _nativeDataType;
> < 	}
> < 
> < 	/**
> < 	 * @param dataType The _nativeDataType to set.
> < 	 */
> < 	public void setNativeDataType(String dataType) {
> < 		_nativeDataType = dataType;
> < 	}
> JdbcModelReader:
> 184,185d183
> <         // native data type
> <         result.add(new MetaDataColumnDescriptor("TYPE_NAME",        Types.VARCHAR));
> 760,763d757
> <         
> <         // native data type
> <         column.setNativeDataType(((String)values.get("TYPE_NAME")).trim());
> <       
> Thanx,
> Yauheni Prykhodzka

-- 
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