refactor table sql generation
This commit is contained in:
parent
3158a4364b
commit
14b5293dea
2 changed files with 40 additions and 24 deletions
|
|
@ -127,7 +127,8 @@ QString PgClass::createTableSql() const
|
|||
{
|
||||
first = false;
|
||||
}
|
||||
else sql += ",\n ";
|
||||
else
|
||||
sql += ",\n ";
|
||||
if (!col.islocal) sql += "-- ";
|
||||
sql += col.columnDefinition(catalog());
|
||||
}
|
||||
|
|
@ -143,12 +144,24 @@ QString PgClass::createTableSql() const
|
|||
sql += "\n ";
|
||||
first = false;
|
||||
}
|
||||
else sql += ",\n ";
|
||||
else
|
||||
sql += ",\n ";
|
||||
sql += getConstraintDefinition(catalog(), constraint, " ");
|
||||
}
|
||||
|
||||
sql += "\n)";
|
||||
{
|
||||
sql += "\n)"
|
||||
% generateInheritsSql()
|
||||
// [ PARTITION BY { RANGE | LIST } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) ]
|
||||
// [ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
|
||||
// [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
|
||||
% generateTablespaceSql()
|
||||
% ";\n";
|
||||
return sql;
|
||||
}
|
||||
|
||||
QString PgClass::generateInheritsSql() const
|
||||
{
|
||||
QString sql;
|
||||
// [ INHERITS ( parent_table [, ... ] ) ]
|
||||
auto parents = catalog().inherits()->getParentsOf(oid());
|
||||
if (!parents.empty())
|
||||
|
|
@ -163,17 +176,17 @@ QString PgClass::createTableSql() const
|
|||
}
|
||||
sql += ")";
|
||||
}
|
||||
}
|
||||
// [ PARTITION BY { RANGE | LIST } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) ]
|
||||
// [ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
|
||||
// [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
|
||||
return sql;
|
||||
}
|
||||
|
||||
QString PgClass::generateTablespaceSql() const
|
||||
{
|
||||
if (tablespace != 0)
|
||||
{
|
||||
auto ns = getTablespaceDisplayString(catalog(), tablespace);
|
||||
sql += "\n TABLESPACE " % quoteIdent(ns);
|
||||
return "\n TABLESPACE " % quoteIdent(ns);
|
||||
}
|
||||
sql += ";\n";
|
||||
return sql;
|
||||
return {};
|
||||
}
|
||||
|
||||
QString PgClass::createViewSql() const
|
||||
|
|
@ -192,3 +205,4 @@ QString PgClass::createViewSql() const
|
|||
return sql;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -59,6 +59,8 @@ private:
|
|||
mutable QString createSqlCache;
|
||||
|
||||
QString createTableSql() const;
|
||||
QString generateInheritsSql() const;
|
||||
QString generateTablespaceSql() const;
|
||||
QString createViewSql() const;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue