Example #1
0
        public override string GetTypeName(RDBMSCompiler compiler)
        {
            string t;

            if (Size < 2)
            {
                t = "TINYINT";
            }
            else
            if (Size < 4)
            {
                t = "SMALLINT";
            }
            else
            if (Size < 8)
            {
                t = "INT";
            }
            else
            {
                t = "BIGINT";
            }

            var u = "";

            if (Unsigned)
            {
                u += " UNSIGNED";
            }

            return("{0}({1}){2}".Args(t, Size, u));
        }
Example #2
0
        public override string GetColumnCheckScript(RDBMSCompiler compiler, RDBMSEntity column, Compiler.Outputs outputs)
        {
            var enumLine = string.Join(", ", Values.Select(v => compiler.EscapeString(v.Trim())));

            return(compiler.TransformKeywordCase("check ({0} in ({1}))")
                   .Args(
                       compiler.GetQuotedIdentifierName(RDBMSEntityType.Column, column.TransformedName),
                       enumLine
                       ));
        }
Example #3
0
        public override string GetTypeName(RDBMSCompiler compiler)
        {
            switch (compiler.Target)
            {
            case TargetType.PostgreSQL:     return("DOUBLE");

            case TargetType.Oracle:         return("BINARY_DOUBLE");

            case TargetType.MsSQLServer:    return("DOUBLE");

            default:                        return("NUMERIC(18,6)");
            }
        }
Example #4
0
        public override string GetTypeName(RDBMSCompiler compiler)
        {
            switch (compiler.Target)
            {
            case TargetType.PostgreSQL: return("money");

            case TargetType.Oracle:     return("NUMBER(12,4)");

            case TargetType.MsSQLServer: return("MONEY");

            default: return("DECIMAL(12,4)");
            }
        }
Example #5
0
        public override string GetTypeName(RDBMSCompiler compiler)
        {
            switch (compiler.Target)
            {
            case TargetType.MySQL: return("tinyint(1)");

            case TargetType.PostgreSQL: return("boolean");

            case TargetType.Oracle:     return("char(1)");

            case TargetType.MsSQLServer: return("bit");

            default: return("char(1)");
            }
        }
Example #6
0
        public override string GetColumnAutoGeneratedScript(RDBMSCompiler compiler, RDBMSEntity column, Compiler.Outputs outputs)
        {
            switch (compiler.Target)
            {
            case TargetType.MySQL: return("AUTO_INCREMENT");

            case TargetType.PostgreSQL: {
                var seq = "SEQ_{0}_{1}".Args(column.ParentEntity.TransformedShortName, column.TransformedShortName);
                outputs[RDBMSCompiler.SEQUENCES_OUTPUT].AppendLine("CREATE SEQUENCE {0} START 0;".Args(seq));
                return("default nextval('{0}')".Args(seq));
            }

            case TargetType.MsSQLServer: return("IDENTITY(1,1)");

            default: return(string.Empty);
            }
        }
Example #7
0
        public const int MAX_LEN = 8; // So we can pack in ulong

        public override string GetTypeName(RDBMSCompiler compiler)
        {
            return("char({0})".Args(MAX_LEN));
        }
Example #8
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return(Required ? "BINARY({0})".Args(MAX_LEN) : "VARBINARY({0})".Args(MAX_LEN));
 }
Example #9
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return("int");
 }
Example #10
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return "NUMBER({0},{1})".Args(Scale+4, Scale);
 }
Example #11
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return("INT({0})".Args(Size));
 }
Example #12
0
 /// <summary>
 /// Returns true to indicate that column of this type is always required
 /// </summary>
 /// <param name="compiler">The context that the result depends on </param>
 public virtual bool?GetColumnRequirement(RDBMSCompiler compiler) => null;
Example #13
0
 public override string GetTypeName(RDBMSCompiler compiler)
 => "CHAR({0})".Args(Size);
Example #14
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return Required ? "BINARY(12)" : "VARBINARY(12)";
 }
Example #15
0
 public override void TransformColumnName(RDBMSCompiler compiler, RDBMSEntity column)
 {
     column.TransformedName = "G_{0}".Args(column.TransformedName);
 }
Example #16
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return "BIGINT UNSIGNED";
 }
Example #17
0
 public override string GetColumnAutoGeneratedScript(RDBMSCompiler compiler, RDBMSEntity column, Compiler.Outputs outputs)
 {
     switch(compiler.Target)
     {
         case TargetType.MySQL: return "AUTO_INCREMENT";
         case TargetType.PostgreSQL: {
                                       var seq = "SEQ_{0}_{1}".Args(column.ParentEntity.TransformedShortName, column.TransformedShortName);
                                       outputs[RDBMSCompiler.SEQUENCES_OUTPUT].AppendLine("CREATE SEQUENCE {0} START 0;".Args(seq));
                                       return "default nextval('{0}')".Args(seq);
                                     }
         case TargetType.MsSQLServer: return "IDENTITY(1,1)";
         default: return string.Empty;
     } 
 }
Example #18
0
 public override string GetColumnCheckScript(RDBMSCompiler compiler, RDBMSEntity column, Compiler.Outputs outputs)
 {
     var enumLine = string.Join(", ", Values.Select(v => compiler.EscapeString( v.Trim() )) );
     return compiler.TransformKeywordCase("check ({0} in ({1}))")
                    .Args( 
                           compiler.GetQuotedIdentifierName(RDBMSEntityType.Column, column.TransformedName),
                           enumLine 
                         );
 }
Example #19
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return  Type==DBCharType.Varchar ? "VARCHAR({0})".Args(Size) : "CHAR({0})".Args(Size);
 }
Example #20
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     switch (compiler.Target)
     {
         case TargetType.PostgreSQL:     return "DOUBLE";
         case TargetType.Oracle:         return "BINARY_DOUBLE";
         case TargetType.MsSQLServer:    return "DOUBLE";
         default:                        return "NUMERIC(18,6)";
     }
 }
Example #21
0
            /// <summary>
            /// Changes column name, i.e. adds prefix
            /// </summary>
            public virtual void TransformColumnName(RDBMSCompiler compiler, RDBMSEntity column)
            {

            }
Example #22
0
 public override string GetColumnCheckScript(RDBMSCompiler compiler, RDBMSEntity column, Compiler.Outputs outputs)
 {
     return(compiler.TransformKeywordCase("check ({0} > 0 and {0} < 200)").Args(compiler.GetQuotedIdentifierName(RDBMSEntityType.Column, column.TransformedName)));
 }
Example #23
0
 /// <summary>
 /// Returns script for default values, may also emit compiler-specific object like sequence or generator or insert rows in some other table
 /// </summary>
 public virtual string GetColumnDefaultScript(RDBMSCompiler compiler, RDBMSEntity column, Compiler.Outputs outputs)
 {
     return(string.Empty);
 }
Example #24
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return("DATETIME");
 }
Example #25
0
 /// <summary>
 /// Returns script for auto-generated values, may also emit compiler-specific object like sequence or generator
 /// </summary>
 public virtual string GetColumnAutoGeneratedScript(RDBMSCompiler compiler, RDBMSEntity column, Compiler.Outputs outputs)
 => string.Empty;
Example #26
0
            /////////// <summary>
            /////////// Returns true to indicate that column of this type is unique
            /////////// </summary>
            /////////// <param name="context">The context that the result depends on </param>
            ////////public abstract bool? GetColumnUniqueConstraint(Compiler compiler);

            /// <summary>
            /// Returns script for check constraint on column level
            /// </summary>
            public virtual string GetColumnCheckScript(RDBMSCompiler compiler, RDBMSEntity column, Compiler.Outputs outputs)
            {
                return string.Empty;
            }
Example #27
0
 public override string GetColumnCheckScript(RDBMSCompiler compiler, RDBMSEntity column, Compiler.Outputs outputs)
 {
     return compiler.TransformKeywordCase("check ({0} > 0 and {0} < 200)").Args( compiler.GetQuotedIdentifierName(RDBMSEntityType.Column, column.TransformedName) );
 }
Example #28
0
 /// <summary>
 /// Returns the name of the resulting type that this domain maps to
 /// </summary>
 /// <param name="compiler">The context that the result depends on </param>
 /// <returns>Target type name, i.e. BIGINT, DECIMAL(8,2) etc...</returns>
 public abstract string GetTypeName(RDBMSCompiler compiler);
Example #29
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return("VARCHAR(25)");
 }
Example #30
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return "VARCHAR(25)";
 }
Example #31
0
 public override bool? GetColumnRequirement(RDBMSCompiler compiler)
 {
     return null;
 }
Example #32
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return "DATETIME";
 }
Example #33
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return("char(10)");
 }
Example #34
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     switch(compiler.Target)
     {
         case TargetType.PostgreSQL: return "money";
         case TargetType.Oracle:     return "NUMBER(12,4)";
         case TargetType.MsSQLServer: return "MONEY";
         default: return "DECIMAL(12,4)";
     }
 }
Example #35
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return("datetime(0)");
 }
Example #36
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return "TEXT";
 }
Example #37
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return("BIGINT(8) UNSIGNED");
 }
Example #38
0
 public override bool?GetColumnRequirement(RDBMSCompiler compiler)
 {
     return(Required);
 }
Example #39
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return(Type == DBCharType.Varchar ? "VARCHAR({0})".Args(Size) : "CHAR({0})".Args(Size));
 }
Example #40
0
 public override void TransformColumnName(RDBMSCompiler compiler, RDBMSEntity column)
 {
     column.TransformedName = "G_{0}".Args(column.TransformedName);
 }
Example #41
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     switch(compiler.Target)
     {
         case TargetType.MySQL: return "tinyint(1)";
         case TargetType.PostgreSQL: return "boolean";
         case TargetType.Oracle:     return "char(1)";
         case TargetType.MsSQLServer: return "bit";
         default: return "char(1)";
     }
 }
Example #42
0
 /// <summary>
 /// Returns true to indicate that column of this type is always required
 /// </summary>
 /// <param name="compiler">The context that the result depends on </param>
 public virtual bool? GetColumnRequirement(RDBMSCompiler compiler)
 {
     return null;
 }
Example #43
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return(Required ? "BINARY(12)" : "VARBINARY(12)");
 }
Example #44
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return "char(10)";
 }
Example #45
0
 /// <summary>
 /// Returns true to indicate that column of this type is always required
 /// </summary>
 /// <param name="compiler">The context that the result depends on </param>
 public virtual bool?GetColumnRequirement(RDBMSCompiler compiler)
 {
     return(null);
 }
Example #46
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return "CHAR({0})".Args(Size);
 }
Example #47
0
 /// <summary>
 /// Returns the name of the resulting type that this domain maps to
 /// </summary>
 /// <param name="compiler">The context that the result depends on </param>
 /// <returns>Target type name, i.e. BIGINT, DECIMAL(8,2) etc...</returns>
 public abstract string GetTypeName(RDBMSCompiler compiler);
Example #48
0
        public override string GetTypeName(RDBMSCompiler compiler)
        {
            string t;
            if (Size<2) t = "TINYINT";
            else
            if (Size<4) t = "SMALLINT";
            else
            if (Size<8) t = "INT";
            else
             t = "BIGINT";

            var u = "";
            if (Unsigned) u += " UNSIGNED";

            return "{0}({1}){2}".Args(t, Size, u);
        }
Example #49
0
 /// <summary>
 /// Changes column name, i.e. adds prefix
 /// </summary>
 public virtual void TransformColumnName(RDBMSCompiler compiler, RDBMSEntity column)
 {
 }
Example #50
0
 public override string GetTypeName(RDBMSCompiler compiler)
 {
     return("NUMBER({0},{1})".Args(Scale + 4, Scale));
 }
Example #51
0
        /////////// <summary>
        /////////// Returns true to indicate that column of this type is unique
        /////////// </summary>
        /////////// <param name="context">The context that the result depends on </param>
        ////////public abstract bool? GetColumnUniqueConstraint(Compiler compiler);

        /// <summary>
        /// Returns script for check constraint on column level
        /// </summary>
        public virtual string GetColumnCheckScript(RDBMSCompiler compiler, RDBMSEntity column, Compiler.Outputs outputs)
        => string.Empty;
Example #52
0
 public override string GetTypeName(RDBMSCompiler compiler)
 => "char(10)";