summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-09-26 21:09:23 +0100
committerCaolán McNamara <caolanm@redhat.com>2021-09-27 15:42:33 +0200
commit138c6e793882fcf8477e7e75f7f31d5327022aa5 (patch)
tree5cac832f7f7934184ca565c4fe095cce776b08fd /connectivity
parentd6063f416c78f30f1fb717f3ab05f9691bb3461d (diff)
split getUniqueColumnName
Change-Id: Ibcac473463c02e7ce6f853ac2dcdf953c13c14e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122659 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
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;