summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/parse/sqliterator.cxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/connectivity/source/parse/sqliterator.cxx b/connectivity/source/parse/sqliterator.cxx
index f20bef933395..ef7873a6c302 100644
--- a/connectivity/source/parse/sqliterator.cxx
+++ b/connectivity/source/parse/sqliterator.cxx
@@ -1716,15 +1716,24 @@ void OSQLParseTreeIterator::setSelectColumnName(const OUString & rColumnName,con
}
}
-OUString OSQLParseTreeIterator::getUniqueColumnName(const OUString& rColumnName) const
+std::vector<OUString> OSQLParseTreeIterator::getSelectColumnNames() const
{
::comphelper::UStringMixLess aCompare(isCaseSensitive());
+
std::vector<OUString> aColumnNames;
OUString sPropertyName = OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_NAME);
for (const auto& col : *m_aSelectColumns)
aColumnNames.push_back(getString(col->getPropertyValue(sPropertyName)));
std::sort(aColumnNames.begin(), aColumnNames.end(), aCompare);
+ return aColumnNames;
+}
+
+OUString OSQLParseTreeIterator::getUniqueColumnName(const OUString& rColumnName) const
+{
+ std::vector<OUString> aColumnNames(getSelectColumnNames());
+
+ ::comphelper::UStringMixLess aCompare(isCaseSensitive());
if (!std::binary_search(aColumnNames.begin(), aColumnNames.end(), rColumnName, aCompare))
return rColumnName;