Ejemplo n.º 1
0
        public string GetCreationSql()
        {
            var sbSql = new StringBuilder(50);

            sbSql.Append("CREATE SCHEMA ");
            sbSql.Append(PgDiffUtils.GetQuotedName(Name));

            if (Authorization != null)
            {
                sbSql.Append(" AUTHORIZATION ");
                sbSql.Append(PgDiffUtils.GetQuotedName(Authorization));
            }

            sbSql.Append(';');

            if (!string.IsNullOrEmpty(Comment))
            {
                sbSql.Append("\n\nCOMMENT ON SCHEMA ");
                sbSql.Append(PgDiffUtils.GetQuotedName(Name));
                sbSql.Append(" IS ");
                sbSql.Append(Comment);
                sbSql.Append(';');
            }

            return(sbSql.ToString());
        }
Ejemplo n.º 2
0
        public string GetCreationSql()
        {
            var sbSql = new StringBuilder(100);

            sbSql.Append("CREATE ");

            if (Unique)
            {
                sbSql.Append("UNIQUE ");
            }

            sbSql.Append("INDEX ");
            sbSql.Append(PgDiffUtils.GetQuotedName(Name));
            sbSql.Append(" ON ");
            sbSql.Append(PgDiffUtils.GetQuotedName(TableName));
            sbSql.Append(' ');
            sbSql.Append(Definition);
            sbSql.Append(';');

            if (!string.IsNullOrEmpty(Comment))
            {
                sbSql.Append("\n\nCOMMENT ON INDEX ");
                sbSql.Append(PgDiffUtils.GetQuotedName(Name));
                sbSql.Append(" IS ");
                sbSql.Append(Comment);
                sbSql.Append(';');
            }

            return(sbSql.ToString());
        }
Ejemplo n.º 3
0
        public string GetCreationSql()
        {
            var sbSql = new StringBuilder(500);

            sbSql.Append("CREATE OR REPLACE FUNCTION ");
            sbSql.Append(PgDiffUtils.GetQuotedName(Name));
            sbSql.Append('(');

            var addComma = false;

            foreach (var argument in _arguments)
            {
                if (addComma)
                {
                    sbSql.Append(", ");
                }

                sbSql.Append(argument.GetDeclaration(true));

                addComma = true;
            }

            sbSql.Append(") ");
            sbSql.Append(Body);
            sbSql.Append(';');

            if (!string.IsNullOrEmpty(Comment))
            {
                sbSql.Append("\n\nCOMMENT ON FUNCTION ");
                sbSql.Append(PgDiffUtils.GetQuotedName(Name));
                sbSql.Append('(');

                addComma = false;

                foreach (var argument in _arguments)
                {
                    if (addComma)
                    {
                        sbSql.Append(", ");
                    }

                    sbSql.Append(argument.GetDeclaration(false));
                    addComma = true;
                }

                sbSql.Append(") IS ");
                sbSql.Append(Comment);
                sbSql.Append(';');
            }

            return(sbSql.ToString());
        }
Ejemplo n.º 4
0
        public string GetOwnedBySql()
        {
            var sbSql = new StringBuilder(100);

            sbSql.Append("ALTER SEQUENCE ");
            sbSql.Append(PgDiffUtils.GetQuotedName(Name));

            if (!string.IsNullOrEmpty(OwnedBy))
            {
                sbSql.Append("\n\tOWNED BY ");
                sbSql.Append(OwnedBy);
            }

            sbSql.Append(';');
            return(sbSql.ToString());
        }
Ejemplo n.º 5
0
 public string GetDropSql()
 {
     return($"DROP VIEW {PgDiffUtils.GetQuotedName(Name)};");
 }
Ejemplo n.º 6
0
        public string GetCreationSql()
        {
            var sbSql = new StringBuilder(Query.Length * 2);

            sbSql.Append("CREATE VIEW ");
            sbSql.Append(PgDiffUtils.GetQuotedName(Name));

            if (ColumnNames != null && ColumnNames.Count > 0)
            {
                sbSql.Append(" (");

                for (var i = 0; i < ColumnNames.Count; i++)
                {
                    if (i > 0)
                    {
                        sbSql.Append(", ");
                    }

                    sbSql.Append(PgDiffUtils.GetQuotedName(ColumnNames[i]));
                }
                sbSql.Append(')');
            }

            sbSql.Append(" AS\n\t");
            sbSql.Append(Query);
            sbSql.Append(';');

            foreach (var defaultValue in DefaultValues)
            {
                sbSql.Append("\n\nALTER VIEW ");
                sbSql.Append(PgDiffUtils.GetQuotedName(Name));
                sbSql.Append(" ALTER COLUMN ");
                sbSql.Append(PgDiffUtils.GetQuotedName(defaultValue.ColumnName));
                sbSql.Append(" SET DEFAULT ");
                sbSql.Append(defaultValue._DefaultValue);
                sbSql.Append(';');
            }

            if (!string.IsNullOrEmpty(Comment))
            {
                sbSql.Append("\n\nCOMMENT ON VIEW ");
                sbSql.Append(PgDiffUtils.GetQuotedName(Name));
                sbSql.Append(" IS ");
                sbSql.Append(Comment);
                sbSql.Append(';');
            }

            foreach (var columnComment in ColumnComments)
            {
                if (!string.IsNullOrEmpty(columnComment.Comment))
                {
                    sbSql.Append("\n\nCOMMENT ON COLUMN ");
                    sbSql.Append(PgDiffUtils.GetQuotedName(columnComment.ColumnName));
                    sbSql.Append(" IS ");
                    sbSql.Append(columnComment.Comment);
                    sbSql.Append(';');
                }
            }

            return(sbSql.ToString());
        }
Ejemplo n.º 7
0
        public string GetCreationSql()
        {
            var sbSql = new StringBuilder(1000);

            sbSql.Append("CREATE TABLE ");
            sbSql.Append(PgDiffUtils.GetQuotedName(Name));
            sbSql.Append(" (\n");

            var first = true;

            if (Columns.Count == 0)
            {
                sbSql.Append(')');
            }
            else
            {
                foreach (var column in Columns)
                {
                    if (first)
                    {
                        first = false;
                    }
                    else
                    {
                        sbSql.Append(",\n");
                    }

                    sbSql.Append("\t");
                    sbSql.Append(column.GetFullDefinition(false));
                }

                sbSql.Append("\n)");
            }

            if (Inherits != null && Inherits.Count != 0)
            {
                sbSql.Append("\nINHERITS (");

                first = true;

                foreach (var tableName in Inherits)
                {
                    if (first)
                    {
                        first = false;
                    }
                    else
                    {
                        sbSql.Append(", ");
                    }

                    sbSql.Append(tableName);
                }

                sbSql.Append(")");
            }

            if (!string.IsNullOrEmpty(With))
            {
                sbSql.Append("\n");

                if ("OIDS=false".EqualsIgnoreCase(With))
                {
                    sbSql.Append("WITHOUT OIDS");
                }
                else
                {
                    sbSql.Append("WITH ");

                    if ("OIDS".EqualsIgnoreCase(With) || "OIDS=true".EqualsIgnoreCase(With))
                    {
                        sbSql.Append("OIDS");
                    }
                    else
                    {
                        sbSql.Append(With);
                    }
                }
            }

            if (!string.IsNullOrEmpty(Tablespace))
            {
                sbSql.Append("\nTABLESPACE ");
                sbSql.Append(Tablespace);
            }

            sbSql.Append(';');

            foreach (var column in GetColumnsWithStatistics())
            {
                sbSql.Append("\nALTER TABLE ONLY ");
                sbSql.Append(PgDiffUtils.GetQuotedName(Name));
                sbSql.Append(" ALTER COLUMN ");
                sbSql.Append(PgDiffUtils.GetQuotedName(column.Name));
                sbSql.Append(" SET STATISTICS ");
                sbSql.Append(column.Statistics);
                sbSql.Append(';');
            }

            if (!string.IsNullOrEmpty(Comment))
            {
                sbSql.Append("\n\nCOMMENT ON TABLE ");
                sbSql.Append(PgDiffUtils.GetQuotedName(Name));
                sbSql.Append(" IS ");
                sbSql.Append(Comment);
                sbSql.Append(';');
            }

            foreach (var column in Columns)
            {
                if (!string.IsNullOrEmpty(column.Comment))
                {
                    sbSql.Append("\n\nCOMMENT ON COLUMN ");
                    sbSql.Append(PgDiffUtils.GetQuotedName(Name));
                    sbSql.Append('.');
                    sbSql.Append(PgDiffUtils.GetQuotedName(column.Name));
                    sbSql.Append(" IS ");
                    sbSql.Append(column.Comment);
                    sbSql.Append(';');
                }
            }

            return(sbSql.ToString());
        }
Ejemplo n.º 8
0
 public string GetDropSql() => $"DROP TABLE {PgDiffUtils.GetQuotedName(Name)};";
Ejemplo n.º 9
0
        public string GetCreationSql()
        {
            var sbSql = new StringBuilder(100);

            sbSql.Append("CREATE TRIGGER ");
            sbSql.Append(PgDiffUtils.GetQuotedName(Name));
            sbSql.Append("\n\t");
            sbSql.Append(Before ? "BEFORE" : "AFTER");

            var firstEvent = true;

            if (OnInsert)
            {
                sbSql.Append(" INSERT");
                firstEvent = false;
            }

            if (OnUpdate)
            {
                if (firstEvent)
                {
                    firstEvent = false;
                }
                else
                {
                    sbSql.Append(" OR");
                }

                sbSql.Append(" UPDATE");

                if (UpdateColumns.Count > 0)
                {
                    sbSql.Append(" OF");

                    var first = true;

                    foreach (var columnName in UpdateColumns)
                    {
                        if (first)
                        {
                            first = false;
                        }
                        else
                        {
                            sbSql.Append(',');
                        }

                        sbSql.Append(' ');
                        sbSql.Append(columnName);
                    }
                }
            }

            if (OnDelete)
            {
                if (!firstEvent)
                {
                    sbSql.Append(" OR");
                }

                sbSql.Append(" DELETE");
            }

            if (OnTruncate)
            {
                if (!firstEvent)
                {
                    sbSql.Append(" OR");
                }

                sbSql.Append(" TRUNCATE");
            }

            sbSql.Append(" ON ");
            sbSql.Append(PgDiffUtils.GetQuotedName(TableName));
            sbSql.Append("\n\tFOR EACH ");
            sbSql.Append(ForEachRow ? "ROW" : "STATEMENT");

            if (!string.IsNullOrEmpty(When))
            {
                sbSql.Append("\n\tWHEN (");
                sbSql.Append(When);
                sbSql.Append(')');
            }

            sbSql.Append("\n\tEXECUTE PROCEDURE ");
            sbSql.Append(Function);
            sbSql.Append(';');

            if (!string.IsNullOrEmpty(Comment))
            {
                sbSql.Append("\n\nCOMMENT ON TRIGGER ");
                sbSql.Append(PgDiffUtils.GetQuotedName(Name));
                sbSql.Append(" ON ");
                sbSql.Append(PgDiffUtils.GetQuotedName(TableName));
                sbSql.Append(" IS ");
                sbSql.Append(Comment);
                sbSql.Append(';');
            }

            return(sbSql.ToString());
        }
Ejemplo n.º 10
0
 public string GetDropSql()
 {
     return($"DROP TRIGGER {PgDiffUtils.GetQuotedName(Name)} ON {PgDiffUtils.GetQuotedName(TableName)};");
 }
Ejemplo n.º 11
0
        public string GetCreationSql()
        {
            var sbSql = new StringBuilder(100);

            sbSql.Append("CREATE SEQUENCE ");
            sbSql.Append(PgDiffUtils.GetQuotedName(Name));

            if (StartWith != null)
            {
                sbSql.Append("\n\tSTART WITH ");
                sbSql.Append(StartWith);
            }

            if (Increment != null)
            {
                sbSql.Append("\n\tINCREMENT BY ");
                sbSql.Append(Increment);
            }

            sbSql.Append("\n\t");

            if (MaxValue == null)
            {
                sbSql.Append("NO MAXVALUE");
            }
            else
            {
                sbSql.Append("MAXVALUE ");
                sbSql.Append(MaxValue);
            }

            sbSql.Append("\n\t");

            if (MinValue == null)
            {
                sbSql.Append("NO MINVALUE");
            }
            else
            {
                sbSql.Append("MINVALUE ");
                sbSql.Append(MinValue);
            }

            if (Cache != null)
            {
                sbSql.Append("\n\tCACHE ");
                sbSql.Append(Cache);
            }

            if (Cycle)
            {
                sbSql.Append("\n\tCYCLE");
            }

            sbSql.Append(';');

            if (!string.IsNullOrEmpty(Comment))
            {
                sbSql.Append("\n\nCOMMENT ON SEQUENCE ");
                sbSql.Append(PgDiffUtils.GetQuotedName(Name));
                sbSql.Append(" IS ");
                sbSql.Append(Comment);
                sbSql.Append(';');
            }

            return(sbSql.ToString());
        }
Ejemplo n.º 12
0
 public string GetDropSql()
 {
     return("DROP INDEX " + PgDiffUtils.GetQuotedName(Name) + ";");
 }