//white space allow later to allow showing datatype at first column creation at newTable public AbstractColumnFigure(ColumnSchema column, IFigure owner) : base(column.Name+" ") { columnModel = column; tableFigureOwner = owner; columnDataType = null; primaryIcon = IconFactory.GetIcon ("Resources.primarykey.png"); mandatoryIcon = IconFactory.GetIcon ("Resources.mandatory.png"); optionalIcon = IconFactory.GetIcon ("Resources.optional.png"); fkUkIcon = IconFactory.GetIcon ("Resources.foreign_uk.png"); fkIcon = IconFactory.GetIcon ("Resources.foreign.png"); Initialize (); }
public DataTypeSchema (DataTypeSchema dt) : base (dt) { this.isComplex = dt.isComplex; this.isNullable = dt.isNullable; this.isAutoincrementable = dt.isAutoincrementable; this.isFixedLength = dt.isFixedLength; this.category = dt.category; this.dataType = dt.dataType; this.createFormat = dt.createFormat; this.createParameters = dt.createParameters; this.lengthRange = new Range (dt.lengthRange); this.precisionRange = new Range (dt.precisionRange); this.scaleRange = new Range (dt.scaleRange); }
public DataTypeSchema(DataTypeSchema dt) : base(dt) { this.isComplex = dt.isComplex; this.isNullable = dt.isNullable; this.isAutoincrementable = dt.isAutoincrementable; this.isFixedLength = dt.isFixedLength; this.category = dt.category; this.dotNetType = dt.dotNetType; this.createFormat = dt.createFormat; this.createParameters = dt.createParameters; this.lengthRange = new Range(dt.lengthRange); this.precisionRange = new Range(dt.precisionRange); this.scaleRange = new Range(dt.scaleRange); }
protected virtual DataTypeSchema GetDataType(DataRow row) { DataTypeSchema schema = new DataTypeSchema(this); schema.Name = GetRowString(row, dataTypeItemStrings[0]); schema.LengthRange = new Range(GetRowInt(row, dataTypeItemStrings[1])); schema.CreateFormat = GetRowString(row, dataTypeItemStrings[2]); schema.CreateParameters = GetRowString(row, dataTypeItemStrings[3]); schema.DataType = Type.GetType(GetRowString(row, dataTypeItemStrings[4]), false, false); schema.IsAutoincrementable = GetRowBool(row, dataTypeItemStrings[5]); schema.IsFixedLength = GetRowBool(row, dataTypeItemStrings[6]); schema.IsNullable = GetRowBool(row, dataTypeItemStrings[7]); schema.ScaleRange = new Range(GetRowInt(row, dataTypeItemStrings[9]), GetRowInt(row, dataTypeItemStrings[8])); schema.PrecisionRange = new Range(0); ProvideDataTypeInformation(schema); return(schema); }
public override DataTypeSchema GetDataType(string name) { if (name == null) { throw new ArgumentNullException("name"); } name = name.ToUpper(); DataTypeSchema dts = new DataTypeSchema(this); dts.Name = name; switch (name) { //TODO: IMPLEMENT case "": break; default: dts = null; break; } return(dts); }
public virtual DataTypeSchema GetDataType(string name) { if (name == null) { throw new ArgumentNullException("name"); } DataTypeSchema schema = null; IPooledDbConnection conn = connectionPool.Request(); try { //restrictions: name DataTable dt = conn.GetSchema(dataTypesCollectionString, name); if (dt.Rows.Count > 0) { schema = GetDataType(dt.Rows[0]); } } catch (Exception e) { QueryService.RaiseException(e); } conn.Release(); return(schema); }
// see: // http://www.firebirdsql.org/manual/migration-mssql-data-types.html // http://webcoder.info/reference/MSSQLDataTypes.html // http://www.tar.hu/sqlbible/sqlbible0022.html // http://msdn2.microsoft.com/en-us/library/aa258876(SQL.80).aspx public override DataTypeSchema GetDataType(string name) { if (name == null) { throw new ArgumentNullException("name"); } name = name.ToLower(); DataTypeSchema dts = new DataTypeSchema(this); dts.Name = name; switch (name) { case "bigint": dts.LengthRange = new Range(8); dts.PrecisionRange = new Range(1, 19); dts.DataTypeCategory = DataTypeCategory.Integer; break; case "binary": dts.LengthRange = new Range(1, 8004); dts.PrecisionRange = new Range(1, 8000); dts.DataTypeCategory = DataTypeCategory.Binary; break; case "bit": dts.LengthRange = new Range(1); dts.DataTypeCategory = DataTypeCategory.Bit; break; case "char": dts.LengthRange = new Range(1, 8000); dts.PrecisionRange = new Range(1, 8000); dts.DataTypeCategory = DataTypeCategory.Char; break; case "datetime": dts.LengthRange = new Range(8); dts.DataTypeCategory = DataTypeCategory.DateTime; break; case "decimal": dts.LengthRange = new Range(5, 17); dts.PrecisionRange = new Range(1, 38); dts.ScaleRange = new Range(0, 37); dts.DataTypeCategory = DataTypeCategory.Float; break; case "float": dts.LengthRange = new Range(8); dts.ScaleRange = new Range(1, 15); dts.DataTypeCategory = DataTypeCategory.Float; break; case "image": dts.LengthRange = new Range(0, int.MaxValue); dts.PrecisionRange = new Range(0, int.MaxValue); dts.DataTypeCategory = DataTypeCategory.VarBinary; break; case "int": dts.LengthRange = new Range(4); dts.PrecisionRange = new Range(1, 10); dts.DataTypeCategory = DataTypeCategory.Integer; break; case "money": dts.LengthRange = new Range(8); dts.PrecisionRange = new Range(1, 19); dts.ScaleRange = new Range(4); dts.DataTypeCategory = DataTypeCategory.Integer; break; case "nchar": dts.LengthRange = new Range(2, 8000); dts.PrecisionRange = new Range(1, 4000); dts.DataTypeCategory = DataTypeCategory.NChar; break; case "ntext": dts.LengthRange = new Range(0, int.MaxValue); dts.PrecisionRange = new Range(0, 1073741823); dts.DataTypeCategory = DataTypeCategory.NVarChar; break; case "numeric": dts.LengthRange = new Range(5, 17); dts.PrecisionRange = new Range(1, 38); dts.ScaleRange = new Range(0, 37); dts.DataTypeCategory = DataTypeCategory.Float; break; case "nvarchar": dts.LengthRange = new Range(0, 8000); dts.PrecisionRange = new Range(0, 4000); dts.DataTypeCategory = DataTypeCategory.NVarChar; break; case "real": dts.LengthRange = new Range(4); dts.ScaleRange = new Range(7); dts.DataTypeCategory = DataTypeCategory.Float; break; case "smalldatetime": dts.LengthRange = new Range(4); dts.DataTypeCategory = DataTypeCategory.DateTime; break; case "smallint": dts.LengthRange = new Range(2); dts.PrecisionRange = new Range(5); dts.DataTypeCategory = DataTypeCategory.Integer; break; case "smallmoney": dts.LengthRange = new Range(4); dts.PrecisionRange = new Range(10); dts.ScaleRange = new Range(4); dts.DataTypeCategory = DataTypeCategory.Integer; break; case "text": dts.LengthRange = new Range(0, int.MaxValue); dts.PrecisionRange = new Range(0, int.MaxValue); dts.DataTypeCategory = DataTypeCategory.VarChar; break; case "timestamp": dts.LengthRange = new Range(1, 8); dts.DataTypeCategory = DataTypeCategory.TimeStamp; break; case "tinyint": dts.LengthRange = new Range(1); dts.PrecisionRange = new Range(1, 3); dts.DataTypeCategory = DataTypeCategory.Integer; break; case "varbinary": dts.LengthRange = new Range(1, 8004); dts.PrecisionRange = new Range(0, 8000); dts.DataTypeCategory = DataTypeCategory.VarBinary; break; case "varchar": dts.LengthRange = new Range(1, 8000); dts.PrecisionRange = new Range(0, 8000); dts.DataTypeCategory = DataTypeCategory.VarChar; break; case "uniqueidentifier": dts.LengthRange = new Range(16); dts.DataTypeCategory = DataTypeCategory.Uid; break; case "xml": dts.LengthRange = new Range(0, int.MaxValue); dts.PrecisionRange = new Range(0, int.MaxValue); dts.DataTypeCategory = DataTypeCategory.VarChar; break; case "cursor": case "table": case "sql_variant": dts.DataTypeCategory = DataTypeCategory.Other; break; default: break; } return(dts); }
public override DataTypeSchema GetDataType (string name) { if (name == null) throw new ArgumentNullException ("name"); name = name.ToUpper (); DataTypeSchema dts = new DataTypeSchema (this); dts.Name = name; switch (name) { //TODO: IMPLEMENT case "": break; default: dts = null; break; } return dts;
protected virtual void ProvideDataTypeInformation(DataTypeSchema schema) { }
protected virtual void ProvideDataTypeInformation (DataTypeSchema schema) { }
protected virtual DataTypeSchema GetDataType (DataRow row) { DataTypeSchema schema = new DataTypeSchema (this); schema.Name = GetRowString (row, dataTypeItemStrings[0]); schema.LengthRange = new Range (GetRowInt (row, dataTypeItemStrings[1])); schema.CreateFormat = GetRowString (row, dataTypeItemStrings[2]); schema.CreateParameters = GetRowString (row, dataTypeItemStrings[3]); schema.DataType = Type.GetType (GetRowString (row, dataTypeItemStrings[4]), false, false); schema.IsAutoincrementable = GetRowBool (row, dataTypeItemStrings[5]); schema.IsFixedLength = GetRowBool (row, dataTypeItemStrings[6]); schema.IsNullable = GetRowBool (row, dataTypeItemStrings[7]); schema.ScaleRange = new Range (GetRowInt (row, dataTypeItemStrings[9]), GetRowInt (row, dataTypeItemStrings[8])); schema.PrecisionRange = new Range (0); ProvideDataTypeInformation (schema); return schema; }
// see: // http://www.htmlite.com/mysql003.php // http://kimbriggs.com/computers/computer-notes/mysql-notes/mysql-data-types.file // http://dev.mysql.com/doc/refman/5.1/en/data-type-overview.html public override DataTypeSchema GetDataType(string name) { if (name == null) { throw new ArgumentNullException("name"); } string type = null; int length = 0; int scale = 0; ParseType(name, out type, out length, out scale); DataTypeSchema dts = new DataTypeSchema(this); dts.Name = type; switch (type.ToLower()) { case "tinyint": case "smallint": case "mediumint": case "int": case "integer": case "bigint": dts.LengthRange = new Range(length); dts.DataTypeCategory = DataTypeCategory.Integer; break; case "bit": dts.LengthRange = new Range(length); //in bits dts.DataTypeCategory = DataTypeCategory.Bit; break; case "bool": case "boolean": dts.LengthRange = new Range(1); //in bits dts.DataTypeCategory = DataTypeCategory.Boolean; break; case "float": case "double": case "double precision": case "decimal": case "dec": dts.LengthRange = new Range(length); dts.ScaleRange = new Range(scale); dts.DataTypeCategory = DataTypeCategory.Boolean; break; case "date": dts.DataTypeCategory = DataTypeCategory.Date; break; case "datetime": dts.DataTypeCategory = DataTypeCategory.DateTime; break; case "timestamp": dts.DataTypeCategory = DataTypeCategory.TimeStamp; break; case "time": dts.DataTypeCategory = DataTypeCategory.Time; break; case "year": dts.LengthRange = new Range(length); dts.DataTypeCategory = DataTypeCategory.Integer; break; case "binary": case "char byte": dts.LengthRange = new Range(length); dts.DataTypeCategory = DataTypeCategory.Binary; break; case "varbinary": dts.LengthRange = new Range(length); dts.DataTypeCategory = DataTypeCategory.VarBinary; break; case "tinyblob": case "mediumblob": case "longblob": case "blob": dts.LengthRange = new Range(length); dts.DataTypeCategory = DataTypeCategory.Binary; break; case "tinytext": case "mediumtext": case "longtext": case "text": dts.LengthRange = new Range(length); dts.DataTypeCategory = DataTypeCategory.NChar; break; case "national char": case "nchar": dts.LengthRange = new Range(length); dts.DataTypeCategory = DataTypeCategory.NChar; break; case "national varchar": case "nvarchar": dts.LengthRange = new Range(length); dts.DataTypeCategory = DataTypeCategory.NVarChar; break; case "varchar": dts.LengthRange = new Range(length); dts.DataTypeCategory = DataTypeCategory.VarChar; break; case "char": dts.LengthRange = new Range(length); dts.DataTypeCategory = DataTypeCategory.Char; break; case "set": case "enum": dts.DataTypeCategory = DataTypeCategory.Integer; break; default: dts = null; break; } return(dts); }