Tag: cws_src680_dba30
User: fs      
Date: 06/03/21 10:39:10

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

Log:
 RESYNC: (1.58-1.59); FILE MERGED

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.16.1&r2=1.58.16.2
Delta lines:  +65 -5
--------------------
--- UITools.cxx 12 Dec 2005 08:03:14 -0000      1.58.16.1
+++ UITools.cxx 21 Mar 2006 18:39:06 -0000      1.58.16.2
@@ -1568,8 +1568,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