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]
