22#include <com/sun/star/sdbc/DataType.hpp>
23#include <com/sun/star/sdbc/ResultSetType.hpp>
24#include <com/sun/star/sdbc/ResultSetConcurrency.hpp>
25#include <com/sun/star/sdbc/TransactionIsolation.hpp>
54 OSL_ENSURE(aProps.
IsValid(),
"There are no properties at the connection");
57 if(!aVar.isNull() && !aVar.isEmpty())
67 OSL_ENSURE(aProps.
IsValid(),
"There are no properties at the connection");
69 return !aVar.isNull() && !aVar.isEmpty() && aVar.getBool();
76 OSL_ENSURE(aProps.
IsValid(),
"There are no properties at the connection");
80 if(!aVar.isNull() && !aVar.isEmpty() && aVar.getType() ==
VT_BSTR)
81 aValue = aVar.getString();
100 ADORecordset *pRecordset =
nullptr;
105 pResult->setCatalogsMap();
112 return getLiteral(DBLITERAL_CATALOG_SEPARATOR);
120 ADORecordset *pRecordset =
nullptr;
125 pResult->setSchemasMap();
130 const Any& catalog,
const OUString& schema,
const OUString& table,
131 const OUString& columnNamePattern )
137 pResult->setColumnPrivilegesMap();
142 const Any& catalog,
const OUString& schemaPattern,
const OUString& tableNamePattern,
143 const OUString& columnNamePattern )
149 pResult->setColumnsMap();
155 const Any& catalog,
const OUString& schemaPattern,
162 pResult->setTablesMap();
168 const Any& catalog,
const OUString& schemaPattern,
169 const OUString& procedureNamePattern,
const OUString& columnNamePattern )
175 pResult->setProcedureColumnsMap();
181 const Any& catalog,
const OUString& schemaPattern,
182 const OUString& procedureNamePattern )
189 pResult->setProceduresMap();
255 const Any& catalog,
const OUString& schema,
const OUString& table )
261 pResult->setCrossReferenceMap();
267 const Any& catalog,
const OUString& schema,
const OUString& table )
273 pResult->setCrossReferenceMap();
279 const Any& catalog,
const OUString& schema,
const OUString& table )
285 pResult->setPrimaryKeysMap();
291 const Any& catalog,
const OUString& schema,
const OUString& table,
298 pResult->setIndexInfoMap();
304 const Any& catalog,
const OUString& schemaPattern,
const OUString& tableNamePattern )
315 pResult->setTablePrivilegesMap();
328 aRow[2] = new ::connectivity::ORowSetValueDecorator(tableNamePattern);
331 aRow[5] = new ::connectivity::ORowSetValueDecorator(
getUserName());
333 aRow[7] = new ::connectivity::ORowSetValueDecorator(OUString(
"NO"));
335 aRows.push_back(aRow);
337 aRows.push_back(aRow);
339 aRows.push_back(aRow);
341 aRows.push_back(aRow);
343 aRows.push_back(aRow);
345 aRows.push_back(aRow);
347 aRows.push_back(aRow);
349 aRows.push_back(aRow);
350 pResult->setRows(std::move(aRows));
357 const Any& primaryCatalog,
const OUString& primarySchema,
358 const OUString& primaryTable,
const Any& foreignCatalog,
359 const OUString& foreignSchema,
const OUString& foreignTable )
365 pResult->setCrossReferenceMap();
377 return (
getInt32Property(
"Identifier Case Sensitivity") & DBPROPVAL_IC_LOWER) == DBPROPVAL_IC_LOWER ;
382 return (
getInt32Property(
"Identifier Case Sensitivity") & DBPROPVAL_IC_LOWER) == DBPROPVAL_IC_LOWER ;
387 return (
getInt32Property(
"Identifier Case Sensitivity") & DBPROPVAL_IC_MIXED) == DBPROPVAL_IC_MIXED ;
392 return (
getInt32Property(
"Identifier Case Sensitivity") & DBPROPVAL_IC_MIXED) == DBPROPVAL_IC_MIXED ;
397 return (
getInt32Property(
"Identifier Case Sensitivity") & DBPROPVAL_IC_UPPER) == DBPROPVAL_IC_UPPER ;
402 return (
getInt32Property(
"Identifier Case Sensitivity") & DBPROPVAL_IC_UPPER) == DBPROPVAL_IC_UPPER ;
422 return getInt32Property(
"NULL Concatenation Behavior") == DBPROPVAL_CB_NON_NULL;
443 return isCapable(DBLITERAL_CORRELATION_NAME);
488 return getInt32Property(
"Prepare Commit Behavior") == DBPROPVAL_CB_PRESERVE;
493 return (
getInt32Property(
"Isolation Retention") & DBPROPVAL_TR_COMMIT) == DBPROPVAL_TR_COMMIT;
498 return (
getInt32Property(
"Isolation Retention") & DBPROPVAL_TR_ABORT) == DBPROPVAL_TR_ABORT;
506 if(level == TransactionIsolation::NONE)
508 else if(level == TransactionIsolation::READ_UNCOMMITTED)
509 bValue = (nTxn & DBPROPVAL_TI_READUNCOMMITTED) == DBPROPVAL_TI_READUNCOMMITTED;
510 else if(level == TransactionIsolation::READ_COMMITTED)
511 bValue = (nTxn & DBPROPVAL_TI_READCOMMITTED) == DBPROPVAL_TI_READCOMMITTED;
512 else if(level == TransactionIsolation::REPEATABLE_READ)
513 bValue = (nTxn & DBPROPVAL_TI_REPEATABLEREAD) == DBPROPVAL_TI_REPEATABLEREAD;
514 else if(level == TransactionIsolation::SERIALIZABLE)
515 bValue = (nTxn & DBPROPVAL_TI_SERIALIZABLE) == DBPROPVAL_TI_SERIALIZABLE;
522 return (
getInt32Property(
"Schema Usage") & DBPROPVAL_SU_DML_STATEMENTS) == DBPROPVAL_SU_DML_STATEMENTS;
528 return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ANSI92_FULL) == DBPROPVAL_SQL_ANSI92_FULL);
534 return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ANSI92_ENTRY) == DBPROPVAL_SQL_ANSI92_ENTRY);
540 return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ANSI89_IEF) == DBPROPVAL_SQL_ANSI89_IEF);
545 return (
getInt32Property(
"Schema Usage") & DBPROPVAL_SU_INDEX_DEFINITION) == DBPROPVAL_SU_INDEX_DEFINITION;
550 return (
getInt32Property(
"Schema Usage") & DBPROPVAL_SU_TABLE_DEFINITION) == DBPROPVAL_SU_TABLE_DEFINITION;
642 return getInt32Property(
"NULL Concatenation Behavior") == DBPROPVAL_CB_NULL;
647 return isCapable(DBLITERAL_COLUMN_ALIAS);
652 return isCapable(DBLITERAL_CORRELATION_NAME);
672 return getInt32Property(
"GROUP BY Support") != DBPROPVAL_GB_CONTAINS_SELECT;
692 return isCapable(DBLITERAL_ESCAPE_PERCENT);
712 return (
getInt32Property(
"Identifier Case Sensitivity") & DBPROPVAL_IC_MIXED) == DBPROPVAL_IC_MIXED;
717 return (
getInt32Property(
"Identifier Case Sensitivity") & DBPROPVAL_IC_MIXED) == DBPROPVAL_IC_MIXED;
722 return (
getInt32Property(
"NULL Collation Order") & DBPROPVAL_NC_END) == DBPROPVAL_NC_END;
727 return (
getInt32Property(
"NULL Collation Order") & DBPROPVAL_NC_START) == DBPROPVAL_NC_START;
732 return (
getInt32Property(
"NULL Collation Order") & DBPROPVAL_NC_HIGH) == DBPROPVAL_NC_HIGH;
737 return (
getInt32Property(
"NULL Collation Order") & DBPROPVAL_NC_LOW) == DBPROPVAL_NC_LOW;
747 return (
getInt32Property(
"Schema Usage") & DBPROPVAL_SU_PRIVILEGE_DEFINITION) == DBPROPVAL_SU_PRIVILEGE_DEFINITION;
762 return (
getInt32Property(
"Subquery Support") & DBPROPVAL_SQ_CORRELATEDSUBQUERIES) == DBPROPVAL_SQ_CORRELATEDSUBQUERIES;
767 return (
getInt32Property(
"Subquery Support") & DBPROPVAL_SQ_COMPARISON) == DBPROPVAL_SQ_COMPARISON;
772 return (
getInt32Property(
"Subquery Support") & DBPROPVAL_SQ_EXISTS) == DBPROPVAL_SQ_EXISTS;
777 return (
getInt32Property(
"Subquery Support") & DBPROPVAL_SQ_IN) == DBPROPVAL_SQ_IN;
782 return (
getInt32Property(
"Subquery Support") & DBPROPVAL_SQ_QUANTIFIED) == DBPROPVAL_SQ_QUANTIFIED;
788 return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ANSI92_INTERMEDIATE) == DBPROPVAL_SQL_ANSI92_INTERMEDIATE);
838 sal_Int32 nRet = TransactionIsolation::NONE;
841 case adXactReadCommitted:
842 nRet = TransactionIsolation::READ_COMMITTED;
844 case adXactRepeatableRead:
845 nRet = TransactionIsolation::REPEATABLE_READ;
847 case adXactSerializable:
848 nRet = TransactionIsolation::SERIALIZABLE;
850 case adXactReadUncommitted:
851 nRet = TransactionIsolation::READ_UNCOMMITTED;
870 OSL_ENSURE(aRecordset,
"getSQLKeywords: no resultset!");
886 if ( !aRet.isEmpty() )
887 return aRet.copy(0,aRet.lastIndexOf(
','));
920 return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ODBC_EXTENDED) == DBPROPVAL_SQL_ODBC_EXTENDED);
926 return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ODBC_CORE) == DBPROPVAL_SQL_ODBC_CORE);
932 return (nProp == 512) || ((nProp & DBPROPVAL_SQL_ODBC_MINIMUM) == DBPROPVAL_SQL_ODBC_MINIMUM);
939 return (
getInt32Property(
"Outer Join Capabilities") & 0x00000004L) == 0x00000004L;
979 return ResultSetType::FORWARD_ONLY != setType;
984 return ResultSetType::FORWARD_ONLY != setType;
989 return ResultSetType::FORWARD_ONLY != setType;
994 return ResultSetType::FORWARD_ONLY != setType;
999 return ResultSetType::FORWARD_ONLY != setType;
1004 return ResultSetType::FORWARD_ONLY != setType;
1009 return ResultSetType::FORWARD_ONLY != setType;
1014 return ResultSetType::FORWARD_ONLY != setType;
1019 return ResultSetType::FORWARD_ONLY != setType;
#define ADO_PROP(ItemName)
static void ThrowException(ADOConnection *_pAdoCon, const css::uno::Reference< css::uno::XInterface > &_xInterface)
static bool isJetEngine(sal_Int32 _nEngineType)
sal_Int32 getEngineType() const
OUString getString() const
ADORecordset * getExportedKeys(const css::uno::Any &catalog, const OUString &schema, std::u16string_view table)
ADORecordset * getIndexInfo(const css::uno::Any &catalog, const OUString &schema, std::u16string_view table, bool unique, bool approximate)
ADORecordset * getColumnPrivileges(const css::uno::Any &catalog, const OUString &schemaPattern, std::u16string_view table, std::u16string_view columnNamePattern)
bool OpenSchema(SchemaEnum eNum, OLEVariant const &Restrictions, OLEVariant const &SchemaID, ADORecordset **pprset)
ADORecordset * getColumns(const css::uno::Any &catalog, const OUString &schemaPattern, std::u16string_view tableNamePattern, std::u16string_view columnNamePattern)
OUString GetConnectionString() const
ADORecordset * getCrossReference(const css::uno::Any &primaryCatalog, const OUString &primarySchema, std::u16string_view primaryTable, const css::uno::Any &foreignCatalog, const OUString &foreignSchema, std::u16string_view foreignTable)
WpADOProperties get_Properties() const
ADORecordset * getImportedKeys(const css::uno::Any &catalog, const OUString &schema, std::u16string_view table)
ADORecordset * getTables(const css::uno::Any &catalog, const OUString &schemaPattern, std::u16string_view tableNamePattern, const css::uno::Sequence< OUString > &types)
ADORecordset * getProcedures(const css::uno::Any &catalog, const OUString &schemaPattern, std::u16string_view procedureNamePattern)
ADORecordset * getTypeInfo(DataTypeEnum _eType=adEmpty)
ADORecordset * getTablePrivileges(const css::uno::Any &catalog, const OUString &schemaPattern, std::u16string_view tableNamePattern)
ADORecordset * getPrimaryKeys(const css::uno::Any &catalog, const OUString &schema, std::u16string_view table)
IsolationLevelEnum get_IsolationLevel() const
ADORecordset * getProcedureColumns(const css::uno::Any &catalog, const OUString &schemaPattern, std::u16string_view procedureNamePattern, std::u16string_view columnNamePattern)
void get_Value(OLEVariant &aValVar) const
WpADOFields GetFields() const
WrapT GetItem(sal_Int32 index) const