summaryrefslogtreecommitdiffstats
path: root/src/plugins/sqldrivers
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@qt.io>2020-07-31 12:48:22 +0200
committerAndy Shaw <andy.shaw@qt.io>2020-08-11 22:13:13 +0200
commit295e98915d933970e56c65510b35f21e848f9af1 (patch)
tree3e7c61a90704d550c6d64cb780d357469d9e65ff /src/plugins/sqldrivers
parente790af0e0a030dea597bbc9489170b5ba1cf9e46 (diff)
Introduce maximumIdentifierLength to return database limits for names
Since Interbase/Firebird has a limit for column and table names then this function can be used by QSqlRelationalTableModel to make sure that the aliases created are within that limit. Change-Id: I0cb1c65b34befcb3690ccad3f081556dd2691344 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/plugins/sqldrivers')
-rw-r--r--src/plugins/sqldrivers/ibase/qsql_ibase.cpp6
-rw-r--r--src/plugins/sqldrivers/ibase/qsql_ibase_p.h2
2 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/sqldrivers/ibase/qsql_ibase.cpp b/src/plugins/sqldrivers/ibase/qsql_ibase.cpp
index dc4eb036d8..75fc68ca9b 100644
--- a/src/plugins/sqldrivers/ibase/qsql_ibase.cpp
+++ b/src/plugins/sqldrivers/ibase/qsql_ibase.cpp
@@ -1884,4 +1884,10 @@ QString QIBaseDriver::escapeIdentifier(const QString &identifier, IdentifierType
return res;
}
+int QIBaseDriver::maximumIdentifierLength(IdentifierType type) const
+{
+ Q_UNUSED(type);
+ return 31;
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/sqldrivers/ibase/qsql_ibase_p.h b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h
index 82a0ab8e4d..e7c908cf2b 100644
--- a/src/plugins/sqldrivers/ibase/qsql_ibase_p.h
+++ b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h
@@ -106,7 +106,7 @@ public:
bool subscribeToNotification(const QString &name) override;
bool unsubscribeFromNotification(const QString &name) override;
QStringList subscribedToNotifications() const override;
-
+ int maximumIdentifierLength(IdentifierType type) const override;
private Q_SLOTS:
void qHandleEventNotification(void* updatedResultBuffer);
};