connectivity/source/commontools/parameters.cxx | 5 connectivity/source/commontools/propertyids.cxx | 193 ++++++---- connectivity/source/drivers/mork/MCatalog.cxx | 3 connectivity/source/drivers/mork/MConnection.hxx | 2 connectivity/source/drivers/mork/MQueryHelper.cxx | 5 connectivity/source/drivers/mork/MQueryHelper.hxx | 1 connectivity/source/drivers/mork/MResultSet.cxx | 72 ++- connectivity/source/drivers/mork/MResultSet.hxx | 2 connectivity/source/drivers/mork/MResultSetMetaData.cxx | 2 connectivity/source/drivers/mork/MStatement.cxx | 49 ++ connectivity/source/drivers/mork/MStatement.hxx | 3 connectivity/source/drivers/mork/MTable.hxx | 2 connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx | 21 + connectivity/source/drivers/odbc/OResultSet.cxx | 5 connectivity/source/drivers/postgresql/pq_databasemetadata.cxx | 20 + connectivity/source/drivers/postgresql/pq_databasemetadata.hxx | 1 connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx | 10 connectivity/source/drivers/postgresql/pq_resultsetmetadata.hxx | 2 connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx | 11 connectivity/source/inc/odbc/OResultSet.hxx | 3 20 files changed, 324 insertions(+), 88 deletions(-)
New commits: commit 3e8a7ce7dffcf46a692e5da0b281a104df8d4d95 Author: Noel Grandin <n...@peralex.com> Date: Mon Mar 23 10:50:14 2015 +0200 Revert "loplugin:constantfunction: connectivity" it seems to be causing unit-test and build failures This reverts commit 5cbb51c009fa266e8418ef93799ac64e431c22f5. Change-Id: Idc6372f98200b23828aa19b22a75b6b2b640d1ab diff --git a/connectivity/source/commontools/parameters.cxx b/connectivity/source/commontools/parameters.cxx index 1b512a0..d520e37 100644 --- a/connectivity/source/commontools/parameters.cxx +++ b/connectivity/source/commontools/parameters.cxx @@ -115,6 +115,11 @@ namespace dbtools } + void ParameterManager::disposing( const EventObject& /*_rDisposingEvent*/ ) + { + } + + void ParameterManager::setAllParametersNull() { OSL_PRECOND( isAlive(), "ParameterManager::setAllParametersNull: not initialized, or already disposed!" ); diff --git a/connectivity/source/commontools/propertyids.cxx b/connectivity/source/commontools/propertyids.cxx index 9f0635e..5b3d635 100644 --- a/connectivity/source/commontools/propertyids.cxx +++ b/connectivity/source/commontools/propertyids.cxx @@ -22,6 +22,77 @@ namespace dbtools { + const sal_Char* getPROPERTY_QUERYTIMEOUT() { return "QueryTimeOut"; } + const sal_Char* getPROPERTY_MAXFIELDSIZE() { return "MaxFieldSize"; } + const sal_Char* getPROPERTY_MAXROWS() { return "MaxRows"; } + const sal_Char* getPROPERTY_CURSORNAME() { return "CursorName"; } + const sal_Char* getPROPERTY_RESULTSETCONCURRENCY() { return "ResultSetConcurrency"; } + const sal_Char* getPROPERTY_RESULTSETTYPE() { return "ResultSetType"; } + const sal_Char* getPROPERTY_FETCHDIRECTION() { return "FetchDirection"; } + const sal_Char* getPROPERTY_FETCHSIZE() { return "FetchSize"; } + const sal_Char* getPROPERTY_ESCAPEPROCESSING() { return "EscapeProcessing"; } + const sal_Char* getPROPERTY_USEBOOKMARKS() { return "UseBookmarks"; } + + const sal_Char* getPROPERTY_NAME() { return "Name"; } + const sal_Char* getPROPERTY_TYPE() { return "Type"; } + const sal_Char* getPROPERTY_TYPENAME() { return "TypeName"; } + const sal_Char* getPROPERTY_PRECISION() { return "Precision"; } + const sal_Char* getPROPERTY_SCALE() { return "Scale"; } + const sal_Char* getPROPERTY_ISNULLABLE() { return "IsNullable"; } + const sal_Char* getPROPERTY_ISAUTOINCREMENT() { return "IsAutoIncrement"; } + const sal_Char* getPROPERTY_ISROWVERSION() { return "IsRowVersion"; } + const sal_Char* getPROPERTY_DESCRIPTION() { return "Description"; } + const sal_Char* getPROPERTY_DEFAULTVALUE() { return "DefaultValue"; } + + const sal_Char* getPROPERTY_REFERENCEDTABLE() { return "ReferencedTable"; } + const sal_Char* getPROPERTY_UPDATERULE() { return "UpdateRule"; } + const sal_Char* getPROPERTY_DELETERULE() { return "DeleteRule"; } + const sal_Char* getPROPERTY_CATALOG() { return "Catalog"; } + const sal_Char* getPROPERTY_ISUNIQUE() { return "IsUnique"; } + const sal_Char* getPROPERTY_ISPRIMARYKEYINDEX() { return "IsPrimaryKeyIndex"; } + const sal_Char* getPROPERTY_ISCLUSTERED() { return "IsClustered"; } + const sal_Char* getPROPERTY_ISASCENDING() { return "IsAscending"; } + const sal_Char* getPROPERTY_SCHEMANAME() { return "SchemaName"; } + const sal_Char* getPROPERTY_CATALOGNAME() { return "CatalogName"; } + const sal_Char* getPROPERTY_COMMAND() { return "Command"; } + const sal_Char* getPROPERTY_CHECKOPTION() { return "CheckOption"; } + const sal_Char* getPROPERTY_PASSWORD() { return "Password"; } + const sal_Char* getPROPERTY_RELATEDCOLUMN() { return "RelatedColumn"; } + + const sal_Char* getPROPERTY_FUNCTION() { return "Function"; } + const sal_Char* getPROPERTY_AGGREGATEFUNCTION() { return "AggregateFunction"; } + const sal_Char* getPROPERTY_TABLENAME() { return "TableName"; } + const sal_Char* getPROPERTY_REALNAME() { return "RealName"; } + const sal_Char* getPROPERTY_DBASEPRECISIONCHANGED() { return "DbasePrecisionChanged"; } + const sal_Char* getPROPERTY_ISCURRENCY() { return "IsCurrency"; } + const sal_Char* getPROPERTY_ISBOOKMARKABLE() { return "IsBookmarkable"; } + + const sal_Char* getPROPERTY_FORMATKEY() { return "FormatKey"; } + const sal_Char* getPROPERTY_LOCALE() { return "Locale"; } + + const sal_Char* getPROPERTY_AUTOINCREMENTCREATION() { return "AutoIncrementCreation"; } + const sal_Char* getPROPERTY_PRIVILEGES() { return "Privileges"; } + const sal_Char* getPROPERTY_ID_HAVINGCLAUSE() { return "HavingClause"; } + const sal_Char* getPROPERTY_ID_ISSIGNED() { return "IsSigned"; } + const sal_Char* getPROPERTY_ID_ISSEARCHABLE() { return "IsSearchable"; } + + const sal_Char* getPROPERTY_ID_APPLYFILTER() { return "ApplyFilter"; } + const sal_Char* getPROPERTY_ID_FILTER() { return "Filter"; } + const sal_Char* getPROPERTY_ID_MASTERFIELDS() { return "MasterFields"; } + const sal_Char* getPROPERTY_ID_DETAILFIELDS() { return "DetailFields"; } + const sal_Char* getPROPERTY_ID_FIELDTYPE() { return "FieldType"; } + const sal_Char* getPROPERTY_ID_VALUE() { return "Value"; } + const sal_Char* getPROPERTY_ID_ACTIVE_CONNECTION() { return "ActiveConnection"; } + const sal_Char* getPROPERTY_ID_LABEL() { return "Label"; } + + + //= error messages + + const sal_Char* getSQLSTATE_SEQUENCE() { return "HY010"; } + const sal_Char* getSTR_DELIMITER() { return "/"; } + + + OPropertyMap::~OPropertyMap() { ::std::map<sal_Int32 , rtl_uString*>::iterator aIter = m_aPropertyMap.begin(); @@ -46,68 +117,68 @@ namespace dbtools rtl_uString* pStr = NULL; switch(_nIndex) { - case PROPERTY_ID_QUERYTIMEOUT: { rtl_uString_newFromAscii(&pStr, "QueryTimeOut" ); break; } - case PROPERTY_ID_MAXFIELDSIZE: { rtl_uString_newFromAscii(&pStr, "MaxFieldSize" ); break; } - case PROPERTY_ID_MAXROWS: { rtl_uString_newFromAscii(&pStr, "MaxRows" ); break; } - case PROPERTY_ID_CURSORNAME: { rtl_uString_newFromAscii(&pStr, "CursorName" ); break; } - case PROPERTY_ID_RESULTSETCONCURRENCY: { rtl_uString_newFromAscii(&pStr, "ResultSetConcurrency" ); break; } - case PROPERTY_ID_RESULTSETTYPE: { rtl_uString_newFromAscii(&pStr, "ResultSetType" ); break; } - case PROPERTY_ID_FETCHDIRECTION: { rtl_uString_newFromAscii(&pStr, "FetchDirection" ); break; } - case PROPERTY_ID_FETCHSIZE: { rtl_uString_newFromAscii(&pStr, "FetchSize" ); break; } - case PROPERTY_ID_ESCAPEPROCESSING: { rtl_uString_newFromAscii(&pStr, "EscapeProcessing" ); break; } - case PROPERTY_ID_USEBOOKMARKS: { rtl_uString_newFromAscii(&pStr, "UseBookmarks" ); break; } + case PROPERTY_ID_QUERYTIMEOUT: { rtl_uString_newFromAscii(&pStr,getPROPERTY_QUERYTIMEOUT() ); break; } + case PROPERTY_ID_MAXFIELDSIZE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_MAXFIELDSIZE() ); break; } + case PROPERTY_ID_MAXROWS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_MAXROWS() ); break; } + case PROPERTY_ID_CURSORNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CURSORNAME() ); break; } + case PROPERTY_ID_RESULTSETCONCURRENCY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RESULTSETCONCURRENCY() ); break; } + case PROPERTY_ID_RESULTSETTYPE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RESULTSETTYPE() ); break; } + case PROPERTY_ID_FETCHDIRECTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FETCHDIRECTION() ); break; } + case PROPERTY_ID_FETCHSIZE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FETCHSIZE() ); break; } + case PROPERTY_ID_ESCAPEPROCESSING: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ESCAPEPROCESSING() ); break; } + case PROPERTY_ID_USEBOOKMARKS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_USEBOOKMARKS() ); break; } // Column - case PROPERTY_ID_NAME: { rtl_uString_newFromAscii(&pStr, "Name" ); break; } - case PROPERTY_ID_TYPE: { rtl_uString_newFromAscii(&pStr, "Type" ); break; } - case PROPERTY_ID_TYPENAME: { rtl_uString_newFromAscii(&pStr, "TypeName" ); break; } - case PROPERTY_ID_PRECISION: { rtl_uString_newFromAscii(&pStr, "Precision" ); break; } - case PROPERTY_ID_SCALE: { rtl_uString_newFromAscii(&pStr, "Scale" ); break; } - case PROPERTY_ID_ISNULLABLE: { rtl_uString_newFromAscii(&pStr, "IsNullable" ); break; } - case PROPERTY_ID_ISAUTOINCREMENT: { rtl_uString_newFromAscii(&pStr, "IsAutoIncrement" ); break; } - case PROPERTY_ID_ISROWVERSION: { rtl_uString_newFromAscii(&pStr, "IsRowVersion" ); break; } - case PROPERTY_ID_DESCRIPTION: { rtl_uString_newFromAscii(&pStr, "Description" ); break; } - case PROPERTY_ID_DEFAULTVALUE: { rtl_uString_newFromAscii(&pStr, "DefaultValue" ); break; } - - case PROPERTY_ID_REFERENCEDTABLE: { rtl_uString_newFromAscii(&pStr, "ReferencedTable" ); break; } - case PROPERTY_ID_UPDATERULE: { rtl_uString_newFromAscii(&pStr, "UpdateRule" ); break; } - case PROPERTY_ID_DELETERULE: { rtl_uString_newFromAscii(&pStr, "DeleteRule" ); break; } - case PROPERTY_ID_CATALOG: { rtl_uString_newFromAscii(&pStr, "Catalog" ); break; } - case PROPERTY_ID_ISUNIQUE: { rtl_uString_newFromAscii(&pStr, "IsUnique" ); break; } - case PROPERTY_ID_ISPRIMARYKEYINDEX: { rtl_uString_newFromAscii(&pStr, "IsPrimaryKeyIndex" ); break; } - case PROPERTY_ID_ISCLUSTERED: { rtl_uString_newFromAscii(&pStr, "IsClustered" ); break; } - case PROPERTY_ID_ISASCENDING: { rtl_uString_newFromAscii(&pStr, "IsAscending" ); break; } - case PROPERTY_ID_SCHEMANAME: { rtl_uString_newFromAscii(&pStr, "SchemaName" ); break; } - case PROPERTY_ID_CATALOGNAME: { rtl_uString_newFromAscii(&pStr, "CatalogName" ); break; } - - case PROPERTY_ID_COMMAND: { rtl_uString_newFromAscii(&pStr, "Command" ); break; } - case PROPERTY_ID_CHECKOPTION: { rtl_uString_newFromAscii(&pStr, "CheckOption" ); break; } - case PROPERTY_ID_PASSWORD: { rtl_uString_newFromAscii(&pStr, "Password" ); break; } - case PROPERTY_ID_RELATEDCOLUMN: { rtl_uString_newFromAscii(&pStr, "RelatedColumn" ); break; } - - case PROPERTY_ID_FUNCTION: { rtl_uString_newFromAscii(&pStr, "Function" ); break; } - case PROPERTY_ID_AGGREGATEFUNCTION: { rtl_uString_newFromAscii(&pStr, "AggregateFunction" ); break; } - case PROPERTY_ID_TABLENAME: { rtl_uString_newFromAscii(&pStr, "TableName" ); break; } - case PROPERTY_ID_REALNAME: { rtl_uString_newFromAscii(&pStr, "RealName" ); break; } - case PROPERTY_ID_DBASEPRECISIONCHANGED: { rtl_uString_newFromAscii(&pStr, "DbasePrecisionChanged"); break; } - case PROPERTY_ID_ISCURRENCY: { rtl_uString_newFromAscii(&pStr, "IsCurrency" ); break; } - case PROPERTY_ID_ISBOOKMARKABLE: { rtl_uString_newFromAscii(&pStr, "IsBookmarkable" ); break; } - case PROPERTY_ID_HY010: { rtl_uString_newFromAscii(&pStr, "HY010" ); break; } - case PROPERTY_ID_DELIMITER: { rtl_uString_newFromAscii(&pStr, "/" ); break; } - case PROPERTY_ID_FORMATKEY: { rtl_uString_newFromAscii(&pStr, "FormatKey" ); break; } - case PROPERTY_ID_LOCALE: { rtl_uString_newFromAscii(&pStr, "Locale" ); break; } - case PROPERTY_ID_AUTOINCREMENTCREATION: { rtl_uString_newFromAscii(&pStr, "AutoIncrementCreation"); break; } - case PROPERTY_ID_PRIVILEGES: { rtl_uString_newFromAscii(&pStr, "Privileges" ); break; } - case PROPERTY_ID_HAVINGCLAUSE: { rtl_uString_newFromAscii(&pStr, "HavingClause" ); break; } - case PROPERTY_ID_ISSIGNED: { rtl_uString_newFromAscii(&pStr, "IsSigned" ); break; } - case PROPERTY_ID_ISSEARCHABLE: { rtl_uString_newFromAscii(&pStr, "IsSearchable" ); break; } - case PROPERTY_ID_LABEL: { rtl_uString_newFromAscii(&pStr, "Label" ); break; } - case PROPERTY_ID_APPLYFILTER: { rtl_uString_newFromAscii(&pStr, "ApplyFilter" ); break; } - case PROPERTY_ID_FILTER: { rtl_uString_newFromAscii(&pStr, "Filter" ); break; } - case PROPERTY_ID_MASTERFIELDS: { rtl_uString_newFromAscii(&pStr, "MasterFields" ); break; } - case PROPERTY_ID_DETAILFIELDS: { rtl_uString_newFromAscii(&pStr, "DetailFields" ); break; } - case PROPERTY_ID_FIELDTYPE: { rtl_uString_newFromAscii(&pStr, "FieldType" ); break; } - case PROPERTY_ID_VALUE: { rtl_uString_newFromAscii(&pStr, "Value" ); break; } - case PROPERTY_ID_ACTIVE_CONNECTION: { rtl_uString_newFromAscii(&pStr, "ActiveConnection" ); break; } + case PROPERTY_ID_NAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_NAME() ); break; } + case PROPERTY_ID_TYPE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TYPE() ); break; } + case PROPERTY_ID_TYPENAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TYPENAME() ); break; } + case PROPERTY_ID_PRECISION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PRECISION() ); break; } + case PROPERTY_ID_SCALE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_SCALE() ); break; } + case PROPERTY_ID_ISNULLABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISNULLABLE() ); break; } + case PROPERTY_ID_ISAUTOINCREMENT: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISAUTOINCREMENT() ); break; } + case PROPERTY_ID_ISROWVERSION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISROWVERSION() ); break; } + case PROPERTY_ID_DESCRIPTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DESCRIPTION() ); break; } + case PROPERTY_ID_DEFAULTVALUE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DEFAULTVALUE() ); break; } + + case PROPERTY_ID_REFERENCEDTABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_REFERENCEDTABLE() ); break; } + case PROPERTY_ID_UPDATERULE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_UPDATERULE() ); break; } + case PROPERTY_ID_DELETERULE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DELETERULE() ); break; } + case PROPERTY_ID_CATALOG: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CATALOG() ); break; } + case PROPERTY_ID_ISUNIQUE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISUNIQUE() ); break; } + case PROPERTY_ID_ISPRIMARYKEYINDEX: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISPRIMARYKEYINDEX() ); break; } + case PROPERTY_ID_ISCLUSTERED: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISCLUSTERED() ); break; } + case PROPERTY_ID_ISASCENDING: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISASCENDING() ); break; } + case PROPERTY_ID_SCHEMANAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_SCHEMANAME() ); break; } + case PROPERTY_ID_CATALOGNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CATALOGNAME() ); break; } + + case PROPERTY_ID_COMMAND: { rtl_uString_newFromAscii(&pStr,getPROPERTY_COMMAND() ); break; } + case PROPERTY_ID_CHECKOPTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_CHECKOPTION() ); break; } + case PROPERTY_ID_PASSWORD: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PASSWORD() ); break; } + case PROPERTY_ID_RELATEDCOLUMN: { rtl_uString_newFromAscii(&pStr,getPROPERTY_RELATEDCOLUMN() ); break; } + + case PROPERTY_ID_FUNCTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FUNCTION() ); break; } + case PROPERTY_ID_AGGREGATEFUNCTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_AGGREGATEFUNCTION() ); break; } + case PROPERTY_ID_TABLENAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_TABLENAME() ); break; } + case PROPERTY_ID_REALNAME: { rtl_uString_newFromAscii(&pStr,getPROPERTY_REALNAME() ); break; } + case PROPERTY_ID_DBASEPRECISIONCHANGED: { rtl_uString_newFromAscii(&pStr,getPROPERTY_DBASEPRECISIONCHANGED()); break; } + case PROPERTY_ID_ISCURRENCY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISCURRENCY() ); break; } + case PROPERTY_ID_ISBOOKMARKABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ISBOOKMARKABLE() ); break; } + case PROPERTY_ID_HY010: { rtl_uString_newFromAscii(&pStr,getSQLSTATE_SEQUENCE() ); break; } + case PROPERTY_ID_DELIMITER: { rtl_uString_newFromAscii(&pStr,getSTR_DELIMITER() ); break; } + case PROPERTY_ID_FORMATKEY: { rtl_uString_newFromAscii(&pStr,getPROPERTY_FORMATKEY() ); break; } + case PROPERTY_ID_LOCALE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_LOCALE() ); break; } + case PROPERTY_ID_AUTOINCREMENTCREATION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_AUTOINCREMENTCREATION()); break; } + case PROPERTY_ID_PRIVILEGES: { rtl_uString_newFromAscii(&pStr,getPROPERTY_PRIVILEGES() ); break; } + case PROPERTY_ID_HAVINGCLAUSE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_HAVINGCLAUSE() ); break; } + case PROPERTY_ID_ISSIGNED: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_ISSIGNED() ); break; } + case PROPERTY_ID_ISSEARCHABLE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_ISSEARCHABLE() ); break; } + case PROPERTY_ID_LABEL: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_LABEL() ); break; } + case PROPERTY_ID_APPLYFILTER: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_APPLYFILTER() ); break; } + case PROPERTY_ID_FILTER: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_FILTER() ); break; } + case PROPERTY_ID_MASTERFIELDS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_MASTERFIELDS() ); break; } + case PROPERTY_ID_DETAILFIELDS: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_DETAILFIELDS() ); break; } + case PROPERTY_ID_FIELDTYPE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_FIELDTYPE() ); break; } + case PROPERTY_ID_VALUE: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_VALUE() ); break; } + case PROPERTY_ID_ACTIVE_CONNECTION: { rtl_uString_newFromAscii(&pStr,getPROPERTY_ID_ACTIVE_CONNECTION() ); break; } } m_aPropertyMap[_nIndex] = pStr; return pStr ? OUString(pStr) : OUString(); diff --git a/connectivity/source/drivers/mork/MCatalog.cxx b/connectivity/source/drivers/mork/MCatalog.cxx index 3602b3c..65abe02 100644 --- a/connectivity/source/drivers/mork/MCatalog.cxx +++ b/connectivity/source/drivers/mork/MCatalog.cxx @@ -92,7 +92,8 @@ Reference< XNameAccess > SAL_CALL OCatalog::getTables( ) throw(RuntimeException try { - refreshTables(); + if(!m_pTables || m_pConnection->getForceLoadTables()) + refreshTables(); } catch( const RuntimeException& ) { diff --git a/connectivity/source/drivers/mork/MConnection.hxx b/connectivity/source/drivers/mork/MConnection.hxx index 397102d..1a29491 100644 --- a/connectivity/source/drivers/mork/MConnection.hxx +++ b/connectivity/source/drivers/mork/MConnection.hxx @@ -102,6 +102,8 @@ namespace connectivity static OUString getDriverImplementationName(); + bool getForceLoadTables() {return true;} + // Added to enable me to use SQLInterpreter which requires an // XNameAccess i/f to access tables. ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XTablesSupplier > SAL_CALL createCatalog(); diff --git a/connectivity/source/drivers/mork/MQueryHelper.cxx b/connectivity/source/drivers/mork/MQueryHelper.cxx index 36f8a2e..08e5447 100644 --- a/connectivity/source/drivers/mork/MQueryHelper.cxx +++ b/connectivity/source/drivers/mork/MQueryHelper.cxx @@ -144,6 +144,11 @@ sal_Int32 MQueryHelper::getResultCount() const +bool MQueryHelper::queryComplete() const +{ + return true; +} + bool MQueryHelper::checkRowAvailable( sal_Int32 nDBRow ) { /* diff --git a/connectivity/source/drivers/mork/MQueryHelper.hxx b/connectivity/source/drivers/mork/MQueryHelper.hxx index f12a7c2..42a2c93 100644 --- a/connectivity/source/drivers/mork/MQueryHelper.hxx +++ b/connectivity/source/drivers/mork/MQueryHelper.hxx @@ -199,6 +199,7 @@ namespace connectivity void reset(); MQueryHelperResultEntry* getByIndex( sal_uInt32 nRow ); bool isError() const; + bool queryComplete() const; sal_Int32 getResultCount() const; bool checkRowAvailable( sal_Int32 nDBRow ); bool getRowValue( ORowSetValue& rValue, sal_Int32 nDBRow,const OUString& aDBColumnName, sal_Int32 nType ); diff --git a/connectivity/source/drivers/mork/MResultSet.cxx b/connectivity/source/drivers/mork/MResultSet.cxx index 3adaddd..b33cb54 100644 --- a/connectivity/source/drivers/mork/MResultSet.cxx +++ b/connectivity/source/drivers/mork/MResultSet.cxx @@ -332,6 +332,35 @@ bool OResultSet::fetchCurrentRow( ) throw(SQLException, RuntimeException) } +bool OResultSet::pushCard(sal_uInt32 /*cardNumber*/) throw(SQLException, RuntimeException) +{ + return true; +/* + if (cardNumber == 0) + return sal_True; + // Check whether we are storing the updated row + if ( (m_aRow->get())[0].isNull() || (sal_Int32)(m_aRow->get())[0] != (sal_Int32)cardNumber ) + return sal_False; + + sal_Int32 nCount = m_aColumnNames.getLength(); + m_aQuery.setRowStates(cardNumber,m_RowStates); + for( sal_Int32 i = 1; i <= nCount; i++ ) + { + if ( (m_aRow->get())[i].isBound() ) + { + + // Everything in the addressbook is a string! + + if ( !m_aQuery.setRowValue( (m_aRow->get())[i], cardNumber, m_aColumnNames[i-1], DataType::VARCHAR )) + { + m_pStatement->getOwnConnection()->throwSQLException( m_aQuery.getError(), *this ); + } + } + } + return sal_True; +*/ +} + bool OResultSet::fetchRow(sal_Int32 cardNumber,bool bForceReload) throw(SQLException, RuntimeException) { SAL_INFO("connectivity.mork", "cardNumber = " << cardNumber); @@ -340,6 +369,13 @@ bool OResultSet::fetchRow(sal_Int32 cardNumber,bool bForceReload) throw(SQLExcep // Check whether we've already fetched the row... if ( !(m_aRow->get())[0].isNull() && (sal_Int32)(m_aRow->get())[0] == (sal_Int32)cardNumber ) return true; + //Check whether the old row has been changed + if (cardNumber == m_nUpdatedRow) + { + //write back the changes first + if (!pushCard(cardNumber)) //error write back the changes + throw SQLException(); + } } // else // m_aQuery.resyncRow(cardNumber); @@ -430,7 +466,7 @@ sal_Bool SAL_CALL OResultSet::isAfterLast( ) throw(SQLException, RuntimeExcepti OSL_TRACE("In/Out: OResultSet::isAfterLast" ); // return sal_True; - return m_nRowPos > currentRowCount(); + return m_nRowPos > currentRowCount() && m_aQueryHelper.queryComplete(); } sal_Bool SAL_CALL OResultSet::isFirst( ) throw(SQLException, RuntimeException, std::exception) @@ -448,7 +484,7 @@ sal_Bool SAL_CALL OResultSet::isLast( ) throw(SQLException, RuntimeException, s OSL_TRACE("In/Out: OResultSet::isLast" ); // return sal_True; - return m_nRowPos == currentRowCount(); + return m_nRowPos == currentRowCount() && m_aQueryHelper.queryComplete(); } void SAL_CALL OResultSet::beforeFirst( ) throw(SQLException, RuntimeException, std::exception) @@ -1222,6 +1258,8 @@ void SAL_CALL OResultSet::executeQuery() throw( ::com::sun::star::sdbc::SQLExcep OSL_TRACE("Query is to be sorted"); + OSL_ENSURE( m_aQueryHelper.queryComplete(), "Query not complete!!"); + OSortIndex aSortIndex(eKeyType,m_aOrderbyAscending); OSL_TRACE("OrderbyColumnNumber->size() = %zu",m_aOrderbyColumnNumber.size()); @@ -1407,26 +1445,28 @@ bool OResultSet::validRow( sal_uInt32 nRow) { sal_Int32 nNumberOfRecords = m_aQueryHelper.getResultCount(); + while ( nRow > (sal_uInt32)nNumberOfRecords && !m_aQueryHelper.queryComplete() ) { #if OSL_DEBUG_LEVEL > 0 - OSL_TRACE("validRow: waiting..."); + OSL_TRACE("validRow: waiting..."); #endif - if (m_aQueryHelper.checkRowAvailable( nRow ) == false) - { - SAL_INFO( - "connectivity.mork", - "validRow(" << nRow << "): return False"); - return false; - } + if (m_aQueryHelper.checkRowAvailable( nRow ) == false) + { + SAL_INFO( + "connectivity.mork", + "validRow(" << nRow << "): return False"); + return false; + } - if ( m_aQueryHelper.hadError() ) - { - m_pStatement->getOwnConnection()->throwSQLException( m_aQueryHelper.getError(), *this ); - } + if ( m_aQueryHelper.hadError() ) + { + m_pStatement->getOwnConnection()->throwSQLException( m_aQueryHelper.getError(), *this ); + } - nNumberOfRecords = m_aQueryHelper.getResultCount(); + nNumberOfRecords = m_aQueryHelper.getResultCount(); + } if (( nRow == 0 ) || - ( nRow > (sal_uInt32)nNumberOfRecords) ){ + ( nRow > (sal_uInt32)nNumberOfRecords && m_aQueryHelper.queryComplete()) ){ SAL_INFO("connectivity.mork", "validRow(" << nRow << "): return False"); return false; } diff --git a/connectivity/source/drivers/mork/MResultSet.hxx b/connectivity/source/drivers/mork/MResultSet.hxx index d40fe68..6422c04 100644 --- a/connectivity/source/drivers/mork/MResultSet.hxx +++ b/connectivity/source/drivers/mork/MResultSet.hxx @@ -266,6 +266,8 @@ protected: ::com::sun::star::uno::RuntimeException); bool fetchCurrentRow() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); + bool pushCard(sal_uInt32 rowIndex) throw( ::com::sun::star::sdbc::SQLException, + ::com::sun::star::uno::RuntimeException); bool validRow( sal_uInt32 nRow ); bool seekRow( eRowPosition pos, sal_Int32 nOffset = 0 ); sal_Int32 deletedCount(); diff --git a/connectivity/source/drivers/mork/MResultSetMetaData.cxx b/connectivity/source/drivers/mork/MResultSetMetaData.cxx index b014c7a..2674658 100644 --- a/connectivity/source/drivers/mork/MResultSetMetaData.cxx +++ b/connectivity/source/drivers/mork/MResultSetMetaData.cxx @@ -176,7 +176,7 @@ sal_Bool SAL_CALL OResultSetMetaData::isReadOnly( sal_Int32 column ) throw(SQLEx bool bReadOnly = (m_xColumns->get())[column-1]->getPropertySetInfo()->hasPropertyByName(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_FUNCTION)) && ::cppu::any2bool((m_xColumns->get())[column-1]->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_FUNCTION))); - return m_bReadOnly || bReadOnly; + return m_bReadOnly || bReadOnly || m_pTable->isReadOnly(); } diff --git a/connectivity/source/drivers/mork/MStatement.cxx b/connectivity/source/drivers/mork/MStatement.cxx index e6be4a9..e0766ce 100644 --- a/connectivity/source/drivers/mork/MStatement.cxx +++ b/connectivity/source/drivers/mork/MStatement.cxx @@ -140,6 +140,54 @@ void SAL_CALL OCommonStatement::close( ) throw(SQLException, RuntimeException, } + +void OCommonStatement::createTable( ) throw ( SQLException, RuntimeException ) +{ +/* + if(m_pParseTree) + { + ::rtl::Reference<connectivity::OSQLColumns> xCreateColumn; + if (m_pSQLIterator->getStatementType() == SQL_STATEMENT_CREATE_TABLE) + { + const OSQLTables& xTabs = m_pSQLIterator->getTables(); + OSL_ENSURE( !xTabs.empty(), "Need a Table"); + OUString ouTableName=xTabs.begin()->first; + xCreateColumn = m_pSQLIterator->getCreateColumns(); + OSL_ENSURE(xCreateColumn.is(), "Need the Columns!!"); + + const OColumnAlias& aColumnAlias = m_pConnection->getColumnAlias(); + + OSQLColumns::Vector::const_iterator aIter = xCreateColumn->get().begin(); + const OUString sProprtyName = OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME); + OUString sName; + for (sal_Int32 i = 1; aIter != xCreateColumn->get().end();++aIter, i++) + { + (*aIter)->getPropertyValue(sProprtyName) >>= sName; + if ( !aColumnAlias.hasAlias( sName ) ) + { + + const OUString sError( getOwnConnection()->getResources().getResourceStringWithSubstitution( + STR_INVALID_COLUMNNAME, + "$columnname$", sName + ) ); + ::dbtools::throwGenericSQLException(sError,*this); + } + } + MDatabaseMetaDataHelper _aDbHelper; + if (!_aDbHelper.NewAddressBook(m_pConnection,ouTableName)) + { + getOwnConnection()->throwSQLException( _aDbHelper.getError(), *this ); + } + m_pSQLIterator.reset( new ::connectivity::OSQLParseTreeIterator( + m_pConnection, m_pConnection->createCatalog()->getTables(), m_aParser, NULL ) ); + } + + } + else + getOwnConnection()->throwSQLException( STR_QUERY_TOO_COMPLEX, *this ); +*/ +} + OCommonStatement::StatementType OCommonStatement::parseSql( const OUString& sql , bool bAdjusted) throw ( SQLException, RuntimeException ) { @@ -194,6 +242,7 @@ OCommonStatement::StatementType OCommonStatement::parseSql( const OUString& sql return eSelect; case SQL_STATEMENT_CREATE_TABLE: + createTable(); return eCreateTable; default: diff --git a/connectivity/source/drivers/mork/MStatement.hxx b/connectivity/source/drivers/mork/MStatement.hxx index 3476d9b..08b4c56 100644 --- a/connectivity/source/drivers/mork/MStatement.hxx +++ b/connectivity/source/drivers/mork/MStatement.hxx @@ -144,6 +144,9 @@ namespace connectivity void analyseSQL(); void setOrderbyColumn( connectivity::OSQLParseNode* pColumnRef, connectivity::OSQLParseNode* pAscendingDescending); + void createTable( ) throw ( + ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException ); + public: // other methods OConnection* getOwnConnection() const { return m_pConnection;} diff --git a/connectivity/source/drivers/mork/MTable.hxx b/connectivity/source/drivers/mork/MTable.hxx index 454364b..3909051 100644 --- a/connectivity/source/drivers/mork/MTable.hxx +++ b/connectivity/source/drivers/mork/MTable.hxx @@ -43,6 +43,8 @@ namespace connectivity OConnection* getConnection() { return m_pConnection;} + bool isReadOnly() const { return false; } + OUString getTableName() const { return m_Name; } OUString getSchema() const { return m_SchemaName; } diff --git a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx index f5ffa38..36d7637 100644 --- a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx +++ b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx @@ -698,6 +698,27 @@ Any SAL_CALL ODatabaseMetaDataResultSet::getWarnings( ) throw(SQLException, Run return Any(); } +sal_Int32 ODatabaseMetaDataResultSet::getResultSetConcurrency() const throw(SQLException, RuntimeException) +{ + return ResultSetConcurrency::READ_ONLY; +} + +sal_Int32 ODatabaseMetaDataResultSet::getResultSetType() const throw(SQLException, RuntimeException) +{ + return ResultSetType::FORWARD_ONLY; +} + +sal_Int32 ODatabaseMetaDataResultSet::getFetchDirection() const throw(SQLException, RuntimeException) +{ + return FetchDirection::FORWARD; +} + +sal_Int32 ODatabaseMetaDataResultSet::getFetchSize() const throw(SQLException, RuntimeException) +{ + sal_Int32 nValue=1; + return nValue; +} + OUString ODatabaseMetaDataResultSet::getCursorName() const throw(SQLException, RuntimeException) { return OUString(); diff --git a/connectivity/source/drivers/odbc/OResultSet.cxx b/connectivity/source/drivers/odbc/OResultSet.cxx index 165ff0b..dc665ee 100644 --- a/connectivity/source/drivers/odbc/OResultSet.cxx +++ b/connectivity/source/drivers/odbc/OResultSet.cxx @@ -1327,6 +1327,11 @@ sal_Int32 OResultSet::getResultSetType() const return nValue; } +sal_Int32 OResultSet::getFetchDirection() const +{ + return FetchDirection::FORWARD; +} + sal_Int32 OResultSet::getFetchSize() const { return getStmtOption<SQLULEN, SQL_IS_UINTEGER>(SQL_ATTR_ROW_ARRAY_SIZE); diff --git a/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx b/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx index b243dfa..d334dca1 100644 --- a/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx +++ b/connectivity/source/drivers/postgresql/pq_databasemetadata.cxx @@ -124,6 +124,11 @@ std::vector #define DEFERRABILITY_INITIALLY_IMMEDIATE 6 #define DEFERRABILITY_NONE 7 +void DatabaseMetaData::checkClosed() + throw (SQLException, RuntimeException) +{ +} + DatabaseMetaData::DatabaseMetaData( const ::rtl::Reference< RefCountedMutex > & refMutex, const ::com::sun::star::uno::Reference< com::sun::star::sdbc::XConnection > & origin, @@ -1105,6 +1110,7 @@ sal_Bool DatabaseMetaData::dataDefinitionIgnoredInTransactions( ) throw (SQLExc // LEM TODO: implement // LEM TODO: at least fake the columns, even if no row. MutexGuard guard( m_refMutex->mutex ); + checkClosed(); return new SequenceResultSet( m_refMutex, *this, Sequence< OUString >(), Sequence< Sequence< Any > > (), m_pSettings->tc ); } @@ -1117,6 +1123,7 @@ sal_Bool DatabaseMetaData::dataDefinitionIgnoredInTransactions( ) throw (SQLExc { (void) catalog; (void) schemaPattern; (void) procedureNamePattern; (void) columnNamePattern; MutexGuard guard( m_refMutex->mutex ); + checkClosed(); // LEM TODO: implement // LEM TODO: at least fake the columns, even if no row. return new SequenceResultSet( @@ -1134,6 +1141,7 @@ sal_Bool DatabaseMetaData::dataDefinitionIgnoredInTransactions( ) throw (SQLExc Statics &statics = getStatics(); MutexGuard guard( m_refMutex->mutex ); + checkClosed(); if( isLog( m_pSettings, LogLevel::INFO ) ) { @@ -1251,6 +1259,7 @@ struct SortInternalSchemasLastAndPublicFirst throw (SQLException, RuntimeException, std::exception) { MutexGuard guard( m_refMutex->mutex ); + checkClosed(); if( isLog( m_pSettings, LogLevel::INFO ) ) { @@ -1288,6 +1297,7 @@ struct SortInternalSchemasLastAndPublicFirst // LEM TODO: return the current catalog like JDBC driver? // at least fake the columns, even if no content MutexGuard guard( m_refMutex->mutex ); + checkClosed(); return new SequenceResultSet( m_refMutex, *this, Sequence< OUString >(), Sequence< Sequence< Any > > (), m_pSettings->tc ); } @@ -1297,6 +1307,7 @@ struct SortInternalSchemasLastAndPublicFirst { // LEM TODO: this can be made dynamic, see JDBC driver MutexGuard guard( m_refMutex->mutex ); + checkClosed(); return new SequenceResultSet( m_refMutex, *this, getStatics().tableTypeNames, getStatics().tableTypeData, m_pSettings->tc ); @@ -1460,6 +1471,7 @@ static void columnMetaData2DatabaseTypeDescription( // continue ! MutexGuard guard( m_refMutex->mutex ); + checkClosed(); if( isLog( m_pSettings, LogLevel::INFO ) ) { @@ -1643,6 +1655,7 @@ static void columnMetaData2DatabaseTypeDescription( (void) catalog; MutexGuard guard( m_refMutex->mutex ); + checkClosed(); if( isLog( m_pSettings, LogLevel::INFO ) ) { @@ -1673,6 +1686,7 @@ static void columnMetaData2DatabaseTypeDescription( { (void) catalog; MutexGuard guard( m_refMutex->mutex ); + checkClosed(); if( isLog( m_pSettings, LogLevel::INFO ) ) { @@ -1703,6 +1717,7 @@ static void columnMetaData2DatabaseTypeDescription( (void) catalog; (void) schema; (void) table; (void) scope; (void) nullable; //LEM TODO: implement! See JDBC driver MutexGuard guard( m_refMutex->mutex ); + checkClosed(); return new SequenceResultSet( m_refMutex, *this, Sequence< OUString >(), Sequence< Sequence< Any > > (), m_pSettings->tc ); } @@ -1715,6 +1730,7 @@ static void columnMetaData2DatabaseTypeDescription( (void) catalog; (void) schema; (void) table; //LEM TODO: implement! See JDBC driver MutexGuard guard( m_refMutex->mutex ); + checkClosed(); return new SequenceResultSet( m_refMutex, *this, Sequence< OUString >(), Sequence< Sequence< Any > > (), m_pSettings->tc ); } @@ -1727,6 +1743,7 @@ static void columnMetaData2DatabaseTypeDescription( (void) catalog; //LEM TODO: review MutexGuard guard( m_refMutex->mutex ); + checkClosed(); // 1. TABLE_CAT string => table catalog (may be NULL ) // 2. TABLE_SCHEM string => table schema (may be NULL ) @@ -2290,6 +2307,7 @@ static void pgTypeInfo2ResultSet( { // Note: Indexes start at 0 (in the API doc, they start at 1) MutexGuard guard( m_refMutex->mutex ); + checkClosed(); if( isLog( m_pSettings, LogLevel::INFO ) ) { @@ -2358,6 +2376,7 @@ static sal_Int32 seqContains( const Sequence< sal_Int32 > &seq, sal_Int32 value (void) catalog; (void) approximate; //LEM TODO: review MutexGuard guard( m_refMutex->mutex ); + checkClosed(); /* 1. TABLE_CAT string -> table catalog (may be NULL ) @@ -2548,6 +2567,7 @@ sal_Bool DatabaseMetaData::supportsBatchUpdates( ) throw (SQLException, Runtime (void) catalog; (void) schemaPattern; (void) typeNamePattern; (void) types; //LEM TODO: implement! See JDBC driver MutexGuard guard( m_refMutex->mutex ); + checkClosed(); return new SequenceResultSet( m_refMutex, *this, Sequence< OUString >(), Sequence< Sequence< Any > > (), m_pSettings->tc ); } diff --git a/connectivity/source/drivers/postgresql/pq_databasemetadata.hxx b/connectivity/source/drivers/postgresql/pq_databasemetadata.hxx index a61ac4a..9a54a20 100644 --- a/connectivity/source/drivers/postgresql/pq_databasemetadata.hxx +++ b/connectivity/source/drivers/postgresql/pq_databasemetadata.hxx @@ -56,6 +56,7 @@ class DatabaseMetaData : ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XPreparedStatement > m_getTablePrivs_stmt; ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XPreparedStatement > m_getColumnPrivs_stmt; + void checkClosed() throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); sal_Int32 getIntSetting(const OUString& settingName) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); sal_Int32 getMaxIndexKeys() throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); sal_Int32 getMaxNameLength() throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); diff --git a/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx b/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx index 406d31b..1e57850 100644 --- a/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx +++ b/connectivity/source/drivers/postgresql/pq_resultsetmetadata.cxx @@ -333,6 +333,7 @@ sal_Int32 ResultSetMetaData::getColumnDisplaySize( sal_Int32 column ) throw (SQLException, RuntimeException, std::exception) { MutexGuard guard( m_refMutex->mutex ); + checkClosed(); checkColumnIndex( column ); return m_colDesc[column-1].displaySize; } @@ -346,6 +347,7 @@ OUString ResultSetMetaData::getColumnLabel( sal_Int32 column ) OUString ResultSetMetaData::getColumnName( sal_Int32 column ) throw (SQLException, RuntimeException, std::exception) { MutexGuard guard( m_refMutex->mutex ); + checkClosed(); checkColumnIndex( column ); return m_colDesc[column-1].name; @@ -361,6 +363,7 @@ sal_Int32 ResultSetMetaData::getPrecision( sal_Int32 column ) throw (SQLException, RuntimeException, std::exception) { MutexGuard guard( m_refMutex->mutex ); + checkClosed(); checkColumnIndex( column ); return m_colDesc[column-1].precision; } @@ -369,6 +372,7 @@ sal_Int32 ResultSetMetaData::getScale( sal_Int32 column ) throw (SQLException, RuntimeException, std::exception) { MutexGuard guard( m_refMutex->mutex ); + checkClosed(); checkColumnIndex( column ); return m_colDesc[column-1].scale; } @@ -454,6 +458,12 @@ OUString ResultSetMetaData::getColumnServiceName( sal_Int32 column ) return OUString(); } +void ResultSetMetaData::checkClosed() + throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException) +{ + // we never close +} + void ResultSetMetaData::checkColumnIndex(sal_Int32 columnIndex) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException) { diff --git a/connectivity/source/drivers/postgresql/pq_resultsetmetadata.hxx b/connectivity/source/drivers/postgresql/pq_resultsetmetadata.hxx index e70d5b0..6dc53f0 100644 --- a/connectivity/source/drivers/postgresql/pq_resultsetmetadata.hxx +++ b/connectivity/source/drivers/postgresql/pq_resultsetmetadata.hxx @@ -81,6 +81,8 @@ class ResultSetMetaData : sal_Int32 m_colCount; + void checkClosed() + throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); void checkColumnIndex( sal_Int32 columnIndex ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); void checkTable(); diff --git a/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx b/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx index 74b507b..4b7bbd4 100644 --- a/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx +++ b/connectivity/source/inc/odbc/ODatabaseMetaDataResultSet.hxx @@ -20,9 +20,6 @@ #ifndef INCLUDED_CONNECTIVITY_SOURCE_INC_ODBC_ODATABASEMETADATARESULTSET_HXX #define INCLUDED_CONNECTIVITY_SOURCE_INC_ODBC_ODATABASEMETADATARESULTSET_HXX -#include <com/sun/star/sdbc/FetchDirection.hpp> -#include <com/sun/star/sdbc/ResultSetConcurrency.hpp> -#include <com/sun/star/sdbc/ResultSetType.hpp> #include <com/sun/star/sdbc/XResultSet.hpp> #include <com/sun/star/sdbc/XRow.hpp> #include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp> @@ -83,10 +80,10 @@ namespace connectivity // set the columncount of the driver void checkColumnCount(); - static sal_Int32 getResultSetConcurrency() { return css::sdbc::ResultSetConcurrency::READ_ONLY; } - static sal_Int32 getResultSetType() { return css::sdbc::ResultSetType::FORWARD_ONLY; } - static sal_Int32 getFetchDirection() { return css::sdbc::FetchDirection::FORWARD; } - static sal_Int32 getFetchSize() { return 1; } + sal_Int32 getResultSetConcurrency() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); + sal_Int32 getResultSetType() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); + sal_Int32 getFetchDirection() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); + sal_Int32 getFetchSize() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); OUString getCursorName() const throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); SWORD impl_getColumnType_nothrow(sal_Int32 columnIndex); diff --git a/connectivity/source/inc/odbc/OResultSet.hxx b/connectivity/source/inc/odbc/OResultSet.hxx index 104f617..a423e73 100644 --- a/connectivity/source/inc/odbc/OResultSet.hxx +++ b/connectivity/source/inc/odbc/OResultSet.hxx @@ -20,7 +20,6 @@ #ifndef INCLUDED_CONNECTIVITY_SOURCE_INC_ODBC_ORESULTSET_HXX #define INCLUDED_CONNECTIVITY_SOURCE_INC_ODBC_ORESULTSET_HXX -#include <com/sun/star/sdbc/FetchDirection.hpp> #include <com/sun/star/sdbc/XResultSet.hpp> #include <com/sun/star/sdbc/XRow.hpp> #include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp> @@ -155,7 +154,7 @@ namespace connectivity bool isBookmarkable() const; sal_Int32 getResultSetConcurrency() const; sal_Int32 getResultSetType() const; - static sal_Int32 getFetchDirection() { return css::sdbc::FetchDirection::FORWARD; } + sal_Int32 getFetchDirection() const; sal_Int32 getFetchSize() const; OUString getCursorName() const; template < typename T, SQLINTEGER BufferLength > T getStmtOption (SQLINTEGER fOption, T dflt = 0) const; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits