User: rt      
Date: 2008-06-06 13:23:21+0000
Modified:
   dba/connectivity/source/drivers/mysql/YTable.cxx

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

File Changes:

Directory: /dba/connectivity/source/drivers/mysql/
==================================================

File [changed]: YTable.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/mysql/YTable.cxx?r1=1.12&r2=1.13
Delta lines:  +11 -3
--------------------
--- YTable.cxx  2008-04-10 10:23:29+0000        1.12
+++ YTable.cxx  2008-06-06 13:23:18+0000        1.13
@@ -222,6 +222,7 @@
                sal_Bool bOldAutoIncrement = sal_False,bAutoIncrement = 
sal_False;
                
xProp->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_ISAUTOINCREMENT))      
        >>= bOldAutoIncrement;
                
descriptor->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_ISAUTOINCREMENT)) 
>>= bAutoIncrement;
+        bool bColumnNameChanged = false;
 
                if (    nOldType != nNewType
                        ||      nOldPrec != nNewPrec
@@ -256,6 +257,7 @@
                                }
                        }
                        alterColumnType(nNewType,colName,descriptor);
+            bColumnNameChanged = true;
                }
 
                // third: check the default values
@@ -275,14 +277,14 @@
                // now we should look if the name of the column changed
                ::rtl::OUString sNewColumnName;
                
descriptor->getPropertyValue(rProp.getNameByIndex(PROPERTY_ID_NAME)) >>= 
sNewColumnName;
-               if ( !sNewColumnName.equalsIgnoreAsciiCase(colName) )
+               if ( !sNewColumnName.equalsIgnoreAsciiCase(colName) && 
!bColumnNameChanged )
                {
                        ::rtl::OUString sSql = getAlterTableColumnPart();
                        sSql += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" 
CHANGE "));
                        const ::rtl::OUString sQuote = 
getMetaData()->getIdentifierQuoteString(  );
                        sSql += ::dbtools::quoteName(sQuote,colName);
                        sSql += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" 
"));
-                       sSql += 
::dbtools::createStandardColumnPart(descriptor,getConnection());
+                       sSql += 
::dbtools::createStandardColumnPart(descriptor,getConnection(),getTypeCreatePattern());
                        executeStatement(sSql);
                }
                m_pColumns->refresh();
@@ -311,10 +313,16 @@
        ::comphelper::copyProperties(_xDescriptor,xProp);
        
xProp->setPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE),makeAny(nNewType));
 
-       sSql += ::dbtools::createStandardColumnPart(xProp,getConnection());
+       sSql += 
::dbtools::createStandardColumnPart(xProp,getConnection(),getTypeCreatePattern());
        executeStatement(sSql);
 }
 // 
-----------------------------------------------------------------------------
+::rtl::OUString OMySQLTable::getTypeCreatePattern() const
+{
+    static const ::rtl::OUString 
s_sCreatePattern(RTL_CONSTASCII_USTRINGPARAM("(M,D)"));
+    return s_sCreatePattern;
+}
+// 
-----------------------------------------------------------------------------
 void OMySQLTable::alterDefaultValue(const ::rtl::OUString& _sNewDefault,const 
::rtl::OUString& _rColName)
 {
        ::rtl::OUString sSql = getAlterTableColumnPart();




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

Reply via email to