public static void CreateTable(this IQueryContext context, TableInfo tableInfo, bool onlyIfNotExists)
 {
     CreateTable(context, tableInfo, onlyIfNotExists, false);
 }
 public static void AlterTable(this IQueryContext context, TableInfo tableInfo)
 {
     context.AlterObject(tableInfo);
 }
 public static void CreateTable(this IQueryContext context, TableInfo tableInfo)
 {
     CreateTable(context, tableInfo, false);
 }
Esempio n. 4
0
        public void OnTableCompositeCreate(IQuery systemQuery)
        {
            // SYSTEM.PKEY_INFO
            var tableInfo = new TableInfo(SystemSchema.PrimaryKeyInfoTableName);

            tableInfo.AddColumn("id", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("table", PrimitiveTypes.String());
            tableInfo.AddColumn("deferred", PrimitiveTypes.Numeric());
            tableInfo = tableInfo.AsReadOnly();
            systemQuery.Access().CreateTable(tableInfo);

            // SYSTEM.PKEY_COLS
            tableInfo = new TableInfo(SystemSchema.PrimaryKeyColumnsTableName);
            tableInfo.AddColumn("pk_id", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("column", PrimitiveTypes.String());
            tableInfo.AddColumn("seq_no", PrimitiveTypes.Numeric());
            tableInfo = tableInfo.AsReadOnly();
            systemQuery.Access().CreateTable(tableInfo);

            // SYSTEM.FKEY_INFO
            tableInfo = new TableInfo(SystemSchema.ForeignKeyInfoTableName);
            tableInfo.AddColumn("id", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("table", PrimitiveTypes.String());
            tableInfo.AddColumn("ref_schema", PrimitiveTypes.String());
            tableInfo.AddColumn("ref_table", PrimitiveTypes.String());
            tableInfo.AddColumn("update_rule", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("delete_rule", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("deferred", PrimitiveTypes.Numeric());
            tableInfo = tableInfo.AsReadOnly();
            systemQuery.Access().CreateTable(tableInfo);

            // SYSTEM.FKEY_COLS
            tableInfo = new TableInfo(SystemSchema.ForeignKeyColumnsTableName);
            tableInfo.AddColumn("fk_id", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("fcolumn", PrimitiveTypes.String());
            tableInfo.AddColumn("pcolumn", PrimitiveTypes.String());
            tableInfo.AddColumn("seq_no", PrimitiveTypes.Numeric());
            tableInfo = tableInfo.AsReadOnly();
            systemQuery.Access().CreateTable(tableInfo);

            // SYSTEM.UNIQUE_INFO
            tableInfo = new TableInfo(SystemSchema.UniqueKeyInfoTableName);
            tableInfo.AddColumn("id", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("table", PrimitiveTypes.String());
            tableInfo.AddColumn("deferred", PrimitiveTypes.Numeric());
            tableInfo = tableInfo.AsReadOnly();
            systemQuery.Access().CreateTable(tableInfo);

            // SYSTEM.UNIQUE_COLS
            tableInfo = new TableInfo(SystemSchema.UniqueKeyColumnsTableName);
            tableInfo.AddColumn("un_id", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("column", PrimitiveTypes.String());
            tableInfo.AddColumn("seq_no", PrimitiveTypes.Numeric());
            tableInfo = tableInfo.AsReadOnly();
            systemQuery.Access().CreateTable(tableInfo);

            // SYSTEM.CHECK_INFO
            tableInfo = new TableInfo(SystemSchema.CheckInfoTableName);
            tableInfo.AddColumn("id", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("table", PrimitiveTypes.String());
            tableInfo.AddColumn("expression", PrimitiveTypes.String());
            tableInfo.AddColumn("deferred", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("serialized_expression", PrimitiveTypes.Binary());
            tableInfo = tableInfo.AsReadOnly();
            systemQuery.Access().CreateTable(tableInfo);
        }