User: obo     
Date: 06/01/16 07:29:42

Modified:
 /dba/dbaccess/source/ui/misc/
  UITools.cxx

Log:
 INTEGRATION: CWS dba202b (1.58.46); FILE MERGED
 2005/11/28 11:53:50 oj 1.58.46.1: #127608# convert type if it doesn't exist on 
dest db

File Changes:

Directory: /dba/dbaccess/source/ui/misc/
========================================

File [changed]: UITools.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/misc/UITools.cxx?r1=1.58&r2=1.59
Delta lines:  +62 -2
--------------------
--- UITools.cxx 23 Sep 2005 12:38:33 -0000      1.58
+++ UITools.cxx 16 Jan 2006 15:29:39 -0000      1.59
@@ -1580,8 +1580,68 @@
        OTypeInfoMap::const_iterator aIter = _rTypeInfo.find(_nDataType);
        if(aIter != _rTypeInfo.end())
                return aIter->second;
-       OSL_ENSURE(0,"Wrong DataType supplied!");
-       return TOTypeInfoSP();
+       // fall back if the type is unknown
+       TOTypeInfoSP pTypeInfo; 
+       switch(_nDataType)
+       {
+               case DataType::TINYINT:
+                       if( pTypeInfo = 
queryTypeInfoByType(DataType::SMALLINT,_rTypeInfo))
+                               break;
+                       // run through
+               case DataType::SMALLINT:
+                       if( pTypeInfo = 
queryTypeInfoByType(DataType::INTEGER,_rTypeInfo))
+                               break;
+                       // run through
+               case DataType::INTEGER:
+                       if( pTypeInfo = 
queryTypeInfoByType(DataType::FLOAT,_rTypeInfo))
+                               break;
+                       // run through
+               case DataType::FLOAT:
+                       if( pTypeInfo = 
queryTypeInfoByType(DataType::REAL,_rTypeInfo))
+                               break;
+                       // run through
+               case DataType::DATE:
+               case DataType::TIME:
+                       if( DataType::DATE == _nDataType || DataType::TIME == 
_nDataType )
+                       {
+                               if( pTypeInfo = 
queryTypeInfoByType(DataType::TIMESTAMP,_rTypeInfo))
+                                       break;
+                       }
+                       // run through
+               case DataType::TIMESTAMP:
+               case DataType::REAL:
+               case DataType::BIGINT:
+                       if (  pTypeInfo = 
queryTypeInfoByType(DataType::DOUBLE,_rTypeInfo) )
+                               break;
+                       // run through
+               case DataType::DOUBLE:
+                       if (  pTypeInfo = 
queryTypeInfoByType(DataType::NUMERIC,_rTypeInfo) )
+                               break;
+                       // run through
+               case DataType::NUMERIC:
+                        pTypeInfo = 
queryTypeInfoByType(DataType::DECIMAL,_rTypeInfo);
+                       break;
+               case DataType::DECIMAL:
+                       if (  pTypeInfo = 
queryTypeInfoByType(DataType::NUMERIC,_rTypeInfo) )
+                               break;
+                       if (  pTypeInfo = 
queryTypeInfoByType(DataType::DOUBLE,_rTypeInfo) )
+                               break;
+                       break;
+               case DataType::VARCHAR:
+                       if (  pTypeInfo = 
queryTypeInfoByType(DataType::LONGVARCHAR,_rTypeInfo) )
+                               break;
+                       break;
+               default:
+                       ;
+       } // switch(_nDataType)
+       if ( !pTypeInfo )
+       {
+               ::rtl::OUString 
sCreate(RTL_CONSTASCII_USTRINGPARAM("x")),sTypeName;
+               sal_Bool bForce = sal_True;
+               pTypeInfo = 
::dbaui::getTypeInfoFromType(_rTypeInfo,DataType::VARCHAR,sTypeName,sCreate,50,0,sal_False,bForce);
+       } // if ( !pTypeInfo )
+       OSL_ENSURE(pTypeInfo,"Wrong DataType supplied!");
+       return pTypeInfo;
 }
 // 
-----------------------------------------------------------------------------
 ::rtl::OUString getUserDefinedDriverNodeName()




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to