tdf#146471: Firebird: impossible to delete an external table

See https://bugs.documentfoundation.org/show_bug.cgi?id=146471#c1
for full explanations

Change-Id: Ie75669cf951429654ff8e6c28508b9fee2ee03bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127715
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
(cherry picked from commit 13de0ade50bec34be612ba4a3196c2efd9ce3b4e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127584
Reviewed-by: Lionel Mamane <lionel@mamane.lu>
Tested-by: Jenkins
diff --git a/connectivity/source/drivers/firebird/DatabaseMetaData.cxx b/connectivity/source/drivers/firebird/DatabaseMetaData.cxx
index f63468f..262b611 100644
--- a/connectivity/source/drivers/firebird/DatabaseMetaData.cxx
+++ b/connectivity/source/drivers/firebird/DatabaseMetaData.cxx
@@ -1339,8 +1339,10 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables(
    // TODO: GLOBAL TEMPORARY, LOCAL TEMPORARY, ALIAS, SYNONYM
    if (!types.hasElements() || (types.getLength() == 1 && types[0].match(wld)))
    {
        // from Firebird: src/jrd/constants.h
        // rel_persistent = 0, rel_view = 1, rel_external = 2
        // All table types? I.e. includes system tables.
        queryBuf.append("(RDB$RELATION_TYPE = 0 OR RDB$RELATION_TYPE = 1) ");
        queryBuf.append("(RDB$RELATION_TYPE = 0 OR RDB$RELATION_TYPE = 1 OR RDB$RELATION_TYPE = 2) ");
    }
    else
    {
@@ -1406,7 +1408,8 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables(
            }
            else
            {
                if (nTableType == 0)
                // see above about src/jrd/constants.h
                if (nTableType == 0 || nTableType == 2)
                    sTableType = "TABLE";
            }