User: rt      
Date: 2008-06-06 13:18:02+0000
Modified:
   dba/connectivity/source/commontools/dbtools2.cxx

Log:
 INTEGRATION: CWS dba30c (1.27.10); FILE MERGED
 2008/05/08 12:55:10 oj 1.27.10.2: #i64472# use of create pattern
 2008/05/06 11:43:09 oj 1.27.10.1: #i64472# change command can also change the 
name of a column

File Changes:

Directory: /dba/connectivity/source/commontools/
================================================

File [changed]: dbtools2.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/commontools/dbtools2.cxx?r1=1.27&r2=1.28
Delta lines:  +10 -9
--------------------
--- dbtools2.cxx        2008-04-10 08:01:30+0000        1.27
+++ dbtools2.cxx        2008-06-06 13:18:00+0000        1.28
@@ -74,7 +74,7 @@
        using namespace connectivity;
        using namespace comphelper;
 
-::rtl::OUString createStandardColumnPart(const Reference< XPropertySet >& 
xColProp,const Reference< XConnection>& _xConnection)
+::rtl::OUString createStandardColumnPart(const Reference< XPropertySet >& 
xColProp,const Reference< XConnection>& _xConnection,const ::rtl::OUString& 
_sCreatePattern)
 {
 
        Reference<XDatabaseMetaData> xMetaData = _xConnection->getMetaData();
@@ -106,7 +106,7 @@
                
xColProp->getPropertyValue(rPropMap.getNameByIndex(PROPERTY_ID_AUTOINCREMENTCREATION))
 >>= sAutoIncrementValue;
        // look if we have to use precisions
        sal_Bool bUseLiteral = sal_False;
-       ::rtl::OUString sPreFix,sPostFix;
+       ::rtl::OUString sPreFix,sPostFix,sCreateParams;
        {
                Reference<XResultSet> xRes = xMetaData->getTypeInfo();
                if(xRes.is())
@@ -118,7 +118,7 @@
                                sal_Int32 nType = xRow->getShort(2);
                                sPreFix = xRow->getString (4);
                                sPostFix = xRow->getString (5);
-                               ::rtl::OUString sCreateParams = 
xRow->getString(6);
+                               sCreateParams = xRow->getString(6);
                                // first identical type will be used if 
typename is empty
                                if ( !sTypeName.getLength() && nType == 
nDataType )
                                        sTypeName = sTypeName2Cmp;
@@ -154,10 +154,10 @@
         if ( nPrecision > 0 && nDataType != DataType::TIMESTAMP )
         {
                    aSql += ::rtl::OUString::valueOf(nPrecision);
-            if ( nScale > 0 )
+            if ( (nScale > 0) || (_sCreatePattern.getLength() && 
sCreateParams.indexOf(_sCreatePattern) != -1) )
                 aSql += ::rtl::OUString::createFromAscii(",");
         }
-               if ( nScale > 0 || nDataType == DataType::TIMESTAMP )
+               if ( (nScale > 0) || (_sCreatePattern.getLength() && 
sCreateParams.indexOf(_sCreatePattern) != -1 ) || nDataType == 
DataType::TIMESTAMP )
                        aSql += ::rtl::OUString::valueOf(nScale);
 
         if ( nParenPos == -1 )
@@ -188,7 +188,7 @@
 }
 // 
-----------------------------------------------------------------------------
 
-::rtl::OUString createStandardCreateStatement(const Reference< XPropertySet >& 
descriptor,const Reference< XConnection>& _xConnection)
+::rtl::OUString createStandardCreateStatement(const Reference< XPropertySet >& 
descriptor,const Reference< XConnection>& _xConnection,const ::rtl::OUString& 
_sCreatePattern)
 {
        ::rtl::OUString aSql    = ::rtl::OUString::createFromAscii("CREATE 
TABLE ");
        ::rtl::OUString sCatalog,sSchema,sTable,sComposedName;
@@ -220,7 +220,7 @@
        {
                if ( (xColumns->getByIndex(i) >>= xColProp) && xColProp.is() )
                {
-                       aSql += createStandardColumnPart(xColProp,_xConnection);
+                       aSql += 
createStandardColumnPart(xColProp,_xConnection,_sCreatePattern);
                        aSql += ::rtl::OUString::createFromAscii(",");
                }
        }
@@ -360,9 +360,10 @@
 }
 // 
-----------------------------------------------------------------------------
 ::rtl::OUString createSqlCreateTableStatement( const Reference< XPropertySet 
>& descriptor,
-                                                                               
                const Reference< XConnection>& _xConnection)
+                                                                               
                const Reference< XConnection>& _xConnection,
+                                                const ::rtl::OUString& 
_sCreatePattern)
 {
-       ::rtl::OUString aSql = 
::dbtools::createStandardCreateStatement(descriptor,_xConnection);
+       ::rtl::OUString aSql = 
::dbtools::createStandardCreateStatement(descriptor,_xConnection,_sCreatePattern);
        ::rtl::OUString sKeyStmt = 
::dbtools::createStandardKeyStatement(descriptor,_xConnection);
        if ( sKeyStmt.getLength() )
                aSql += sKeyStmt;




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

Reply via email to