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]
