public override void WriteColumnFlags(DBColumnFlags flags, DBClause defaultValue)
        {
            if ((flags & DBColumnFlags.PrimaryKey) > 0)
            {
                this.WriteRawSQLString(" PRIMARY KEY");
            }

            if ((flags & DBColumnFlags.AutoAssign) > 0)
            {
                this.WriteRawSQLString(" AUTOINCREMENT");
            }

            this.WriteSpace();
            if ((flags & DBColumnFlags.Nullable) > 0)
            {
                this.WriteNull();
            }
            else
            {
                this.WriteNotNull();
            }


            if ((flags & DBColumnFlags.HasDefault) > 0)
            {
                this.WriteRawSQLString(" DEFAULT ");
                defaultValue.BuildStatement(this);
            }
        }
Exemple #2
0
        public static DBColumn Column(string name, DbType type, DBColumnFlags flags)
        {
            DBColumn col = Column(name);

            col.Type  = type;
            col.Flags = flags;
            return(col);
        }
Exemple #3
0
 /// <summary>
 /// Sets this columns flag or clears
 /// </summary>
 /// <param name="flag"></param>
 /// <param name="value"></param>
 protected void SetColumnFlag(DBColumnFlags flag, bool value)
 {
     if (value)
     {
         SetColumnFlag(flag);
     }
     else
     {
         ClearColumnFlag(flag);
     }
 }
        public override void WriteColumnFlags(DBColumnFlags flags, DBClause defaultValue)
        {
            if ((flags & DBColumnFlags.HasDefault) > 0)
            {
                throw new NotSupportedException(Errors.OLEDbDoesNotSupportDefaultValues);
            }

            if ((flags & DBColumnFlags.PrimaryKey) > 0)
            {
                this.WriteRawSQLString(" PRIMARY KEY");
            }

            if ((flags & DBColumnFlags.Nullable) > 0)
            {
                this.WriteRawSQLString(" NULL");
            }
            else
            {
                this.WriteRawSQLString(" NOT NULL");
            }
        }
Exemple #5
0
 /// <summary>
 /// Clears the specified flag
 /// </summary>
 /// <param name="flag"></param>
 protected void ClearColumnFlag(DBColumnFlags flag)
 {
     _flags = _flags & ~flag;
 }
Exemple #6
0
 /// <summary>
 /// Sets this columns flag
 /// </summary>
 /// <param name="flag"></param>
 protected void SetColumnFlag(DBColumnFlags flag)
 {
     _flags = _flags | flag;
 }
Exemple #7
0
 /// <summary>
 /// Returns true if this columns flag has been set
 /// </summary>
 /// <param name="flag"></param>
 /// <returns></returns>
 protected bool IsColumnFlagSet(DBColumnFlags flag)
 {
     return((this._flags & flag) > 0);
 }
        protected override string GetNativeTypeForDbType(System.Data.DbType dbType, int setSize, int accuracy, DBColumnFlags flags, out string options)
        {
            switch (dbType)
            {
            case System.Data.DbType.Guid:
                options = "";
                return(" VARCHAR(50)");

            case System.Data.DbType.Int16:
            case System.Data.DbType.Int32:
            case System.Data.DbType.Int64:
            case System.Data.DbType.UInt16:
            case System.Data.DbType.UInt32:
            case System.Data.DbType.UInt64:
                options = string.Empty;
                if ((flags & DBColumnFlags.AutoAssign) > 0)
                {
                    return("AUTOINCREMENT");
                }
                else
                {
                    return(" INTEGER");
                }

            default:
                return(base.GetNativeTypeForDbType(dbType, setSize, accuracy, flags, out options));
            }
        }
Exemple #9
0
        protected override string GetNativeTypeForDbType(System.Data.DbType dbType, int setSize, int accuracy, DBColumnFlags flags, out string options)
        {
            string native;

            options = "";
            switch (dbType)
            {
            case System.Data.DbType.String:

                if (setSize <= 0)
                {
                    native  = "NVARCHAR";
                    options = "(MAX)";
                }
                else if (setSize < 4000)
                {
                    native  = "NVARCHAR";
                    options = "(" + setSize.ToString() + ")";
                }
                else
                {
                    native = "NTEXT";
                }
                break;

            case System.Data.DbType.StringFixedLength:
                if (setSize <= 0)
                {
                    setSize = 255;
                }
                if (setSize < 4001)
                {
                    native  = "NCHAR";
                    options = "(" + setSize.ToString() + ")";
                }
                else
                {
                    native = "NTEXT";
                }
                break;

            case System.Data.DbType.AnsiString:
                if (setSize <= 0)
                {
                    native  = "VARCHAR";
                    options = "(MAX)";
                }
                else if (setSize < 8000)
                {
                    native  = "VARCHAR";
                    options = "(" + setSize.ToString() + ")";
                }
                else
                {
                    native = "TEXT";
                }
                break;

            case System.Data.DbType.AnsiStringFixedLength:
                if (setSize <= 0)
                {
                    setSize = 255;
                }
                if (setSize < 8001)
                {
                    native  = "CHAR";
                    options = "(" + setSize.ToString() + ")";
                }
                else
                {
                    native = "TEXT";
                }
                break;

            case System.Data.DbType.Single:
                if (setSize <= 0)
                {
                    native = "REAL";
                }
                else
                {
                    native  = "FLOAT";
                    options = "(" + setSize.ToString();
                    if (accuracy > 0)
                    {
                        options += "," + accuracy.ToString();
                    }
                    options += ")";
                }
                break;

            case System.Data.DbType.Double:
                if (setSize <= 0)
                {
                    native = "REAL";
                }
                else
                {
                    native  = "FLOAT";
                    options = "(" + setSize.ToString();
                    if (accuracy > 0)
                    {
                        options += "," + accuracy.ToString();
                    }
                    options += ")";
                }
                break;

            case System.Data.DbType.Currency:
                native = "MONEY";
                break;

            default:
                native = base.GetNativeTypeForDbType(dbType, setSize, accuracy, flags, out options);
                break;
            }

            return(native);
        }
Exemple #10
0
        public static DBColumn Column(string name, DbType type, int maxLength, int precision, DBColumnFlags flags)
        {
            DBColumn col = Column(name);

            col.Type   = type;
            col.Flags  = flags;
            col.Length = maxLength;
            return(col);
        }
        /// <summary>
        /// Creates a new Column reference and Adds it to this tables list of columns
        /// </summary>
        /// <param name="columnName"></param>
        /// <param name="type"></param>
        /// <param name="maxlength"></param>
        /// <param name="flags"></param>
        /// <returns></returns>
        public DBCreateTableQuery Add(string columnName, DbType type, int maxlength, DBColumnFlags flags)
        {
            DBColumn col = DBColumn.Column(columnName, type, maxlength, flags);

            return(Add(col));
        }
Exemple #12
0
 protected override string GetNativeTypeForDbType(System.Data.DbType dbType, int setSize, int accuracy, DBColumnFlags flags, out string options)
 {
     if (dbType == System.Data.DbType.Date ||
         dbType == System.Data.DbType.DateTime ||
         dbType == System.Data.DbType.DateTime2 ||
         dbType == System.Data.DbType.Time)
     {
         options = string.Empty;
         return("DATE");
     }
     else if (dbType == System.Data.DbType.String)
     {
         if (setSize >= 2000)
         {
             options = string.Empty;
             return("CLOB");
         }
         else
         {
             if (!_isInProcedureParameters)
             {
                 options = "(" + setSize.ToString() + ")";
             }
             else
             {
                 options = "";
             }
             return("NVARCHAR2");
         }
     }
     else if (dbType == System.Data.DbType.AnsiString)
     {
         if (setSize >= 4000)
         {
             options = string.Empty;
             return("CLOB");
         }
         else
         {
             if (!_isInProcedureParameters)
             {
                 options = "(" + setSize.ToString() + ")";
             }
             else
             {
                 options = "";
             }
             return("VARCHAR2");
         }
     }
     else if (dbType == System.Data.DbType.StringFixedLength)
     {
         if (setSize >= 2000)
         {
             options = string.Empty;
             return("CLOB");
         }
         else
         {
             if (!_isInProcedureParameters)
             {
                 options = "(" + setSize.ToString() + ")";
             }
             else
             {
                 options = "";
             }
             return("NCHAR");
         }
     }
     else if (dbType == System.Data.DbType.AnsiStringFixedLength)
     {
         if (setSize >= 4000)
         {
             options = string.Empty;
             return("CLOB");
         }
         else
         {
             if (!_isInProcedureParameters)
             {
                 options = "(" + setSize.ToString() + ")";
             }
             else
             {
                 options = "";
             }
             return("CHAR");
         }
     }
     else if (dbType == System.Data.DbType.Int64)
     {
         options = "";
         return("NUMBER");
     }
     else
     {
         return(base.GetNativeTypeForDbType(dbType, setSize, accuracy, flags, out options));
     }
 }
        protected override string GetNativeTypeForDbType(DbType dbType, int setSize, int accuracy, DBColumnFlags flags, out string options)
        {
            string value = base.GetNativeTypeForDbType(dbType, setSize, accuracy, flags, out options);

            if (dbType == DbType.String || dbType == DbType.StringFixedLength)
            {
                if (null == options)
                {
                    options = "";
                }
                options += " character set UTF8";
            }
            return(value);
        }