Fix DROP sql for partitioned table.
This commit is contained in:
parent
2ff9577d41
commit
61f90668d8
6 changed files with 33 additions and 4 deletions
|
|
@ -111,7 +111,18 @@ QString PgClass::aclAllPattern() const
|
|||
default:
|
||||
break;
|
||||
}
|
||||
return {};
|
||||
return {};
|
||||
}
|
||||
|
||||
QString PgClass::ddlTypeName() const
|
||||
{
|
||||
switch (kind)
|
||||
{
|
||||
case RelKind::PartitionedTable: return "PARTITIONED TABLE";
|
||||
return "TABLE";
|
||||
default:
|
||||
return PgNamespaceObject::ddlTypeName();
|
||||
}
|
||||
}
|
||||
|
||||
QString PgClass::createTableSql() const
|
||||
|
|
|
|||
|
|
@ -14,7 +14,8 @@ enum class RelPersistence {
|
|||
|
||||
void operator<<(RelPersistence &s, const Pgsql::Value &v);
|
||||
|
||||
enum class RelKind {
|
||||
enum class RelKind
|
||||
{
|
||||
Table, // r
|
||||
Index, // i
|
||||
Sequence, // S
|
||||
|
|
@ -58,6 +59,9 @@ public:
|
|||
QString typeName() const override;
|
||||
QString aclAllPattern() const override;
|
||||
|
||||
protected:
|
||||
virtual QString ddlTypeName() const override;
|
||||
|
||||
private:
|
||||
mutable QString createSqlCache;
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ QString PgObject::fullyQualifiedQuotedObjectName() const
|
|||
|
||||
const PgDatabaseCatalog& PgObject::catalog() const
|
||||
{
|
||||
return *m_catalog;
|
||||
return *m_catalog;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ QString PgServerObject::aclAllPattern() const
|
|||
|
||||
QString PgServerObject::dropSql() const
|
||||
{
|
||||
return "DROP " % typeName() % " " % fullyQualifiedQuotedObjectName() % ";";
|
||||
return "DROP " % ddlTypeName() % " " % fullyQualifiedQuotedObjectName() % ";";
|
||||
}
|
||||
|
||||
QString PgServerObject::createSql() const
|
||||
|
|
@ -110,3 +110,8 @@ QString PgServerObject::commentSql() const
|
|||
+ " IS " + escapeLiteral(description) + ";";
|
||||
}
|
||||
|
||||
QString PgServerObject::ddlTypeName() const
|
||||
{
|
||||
return typeName();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,6 +46,10 @@ public:
|
|||
virtual QString dropSql() const;
|
||||
virtual QString createSql() const;
|
||||
QString commentSql() const;
|
||||
|
||||
protected:
|
||||
virtual QString ddlTypeName() const;
|
||||
|
||||
private:
|
||||
Oid m_ownerOid = InvalidOid;
|
||||
const PgAuthId * m_owner = nullptr;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue