Beispiel #1
0
        public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect)
        {
            var ts = db.InvokeLoadTableStructure(objname.ObjectName, TableStructureMembers.ConstraintsNoRefs);
            var cs = ts.FindConstraint(objname.ObjectType, objname.SubName);

            DoGenerateSql(dmp, ts, cs);
        }
Beispiel #2
0
 public ITableStructure LoadTable(FullDatabaseRelatedName tname)
 {
     if (tname.ObjectType == "table")
     {
         var dbmem = new DatabaseStructureMembers
         {
             TableMembers = TableStructureMembers.All,
             TableFilter  = new List <NameWithSchema> {
                 tname.ObjectName
             }
         };
         var dbs = Connection.InvokeLoadStructure(null, dbmem, null);
         return(dbs.Tables[tname.ObjectName]);
     }
     if (tname.ObjectType == "view")
     {
         var dbmem = new DatabaseStructureMembers
         {
             ViewAsTables      = true,
             ViewAsTableFilter = new List <NameWithSchema> {
                 tname.ObjectName
             }
         };
         var dbs = Connection.InvokeLoadStructure(null, dbmem, null);
         return(dbs.ViewAsTables[tname.ObjectName]);
     }
     throw new NotImplementedError("DAE-00370");
 }
Beispiel #3
0
            public override void RunCommand()
            {
                if (Template == null)
                {
                    throw new CommandLineError("DAE-00153 Missing template argument");
                }
                IDatabaseSource db = m_connection.GetConnection();

                Async.SafeOpen(db.Connection);
                IAppObjectSqlGenerator sqlgen = (IAppObjectSqlGenerator)AppObjectSqlGeneratorAddonType.Instance.FindHolder(Template).CreateInstance();
                ISqlDialect            dial;

                if (Dialect != null)
                {
                    dial = (ISqlDialect)DialectAddonType.Instance.FindHolder(Dialect).CreateInstance();
                }
                else
                {
                    dial = new GenericDialect();
                }
                using (TextWriter fw = GetOutputStream())
                {
                    SqlOutputStream so   = new SqlOutputStream(dial, fw, new SqlFormatProperties());
                    ISqlDumper      dmp  = dial.CreateDumper(so, new SqlFormatProperties());
                    var             name = new FullDatabaseRelatedName
                    {
                        ObjectName = new NameWithSchema(Objschema, Objname),
                        ObjectType = Objtype,
                        SubName    = Subname
                    };
                    sqlgen.GenerateSql(db, name, dmp, dial);
                }
                Async.SafeClose(db.Connection);
            }
Beispiel #4
0
        public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect)
        {
            IMigrationProfile profile = dialect.CreateMigrationProfile();
            var tbl = new TableStructure(db.GetTable(objname.ObjectName).InvokeLoadStructure(TableStructureMembers.AllNoRefs));

            dialect.MigrateTable(tbl, profile, null);
            InsertTemplate(tbl, dmp, dialect);
        }
Beispiel #5
0
        public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect)
        {
            var ts  = db.InvokeLoadViewStructure(objname.ObjectName);
            var tbl = new TableStructure(ts);

            tbl.FullName = objname.ObjectName;
            if (Prefix != null)
            {
                tbl.FullName = new NameWithSchema(tbl.FullName.Schema, Prefix + tbl.FullName.Name);
            }
            if (Postfix != null)
            {
                tbl.FullName = new NameWithSchema(tbl.FullName.Schema, tbl.FullName.Name + Postfix);
            }
            dmp.CreateTable(tbl);
        }
Beispiel #6
0
 public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect)
 {
     FillAllTables(db, dmp, dialect);
 }
Beispiel #7
0
 public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect)
 {
     GenerateFillTable(db.GetTable(objname.ObjectName), dmp, dialect);
 }
Beispiel #8
0
 public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect)
 {
     CreateReferences(db, dmp, dialect);
 }
Beispiel #9
0
 public virtual void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect)
 {
 }
Beispiel #10
0
        public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect)
        {
            var ts = db.InvokeLoadTableStructure(objname.ObjectName, TableStructureMembers.Columns);

            DoGenerateSql(dmp, ts, objname.SubName);
        }
Beispiel #11
0
        public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect)
        {
            var so = db.InvokeLoadSpecificObjectDetail(objname.ObjectType, objname.ObjectName);

            DoGenerateSql(dmp, so);
        }
Beispiel #12
0
 public void AddTable(FullDatabaseRelatedName tname)
 {
     AddTable(tname, null, null);
 }
Beispiel #13
0
        public void AddTable(FullDatabaseRelatedName tname, QueryDesignTableFrame srctbl, IForeignKey join)
        {
            var ts = LoadTable(tname);

            AddTable(ts, srctbl, join, tname.ObjectType);
        }