static Constants() { BoolValue = true; DateTimeValue = DateTime.Parse(DateTime.MaxValue.ToString(), CultureInfo.InvariantCulture); DecimalValue = Decimal.MaxValue; GuidValue = Guid.NewGuid(); Int16Value = Int16.MaxValue; Int32Value = Int32.MaxValue; Int64Value = Int64.MaxValue; StringValue = Guid.NewGuid().ToString(); NullableInt64Value = Int64.MaxValue; BoolStringValue = BoolValue.ToString(); DateTimeStringValue = DateTimeValue.ToString(); DecimalStringValue = DecimalValue.ToString(); GuidStringValue = GuidValue.ToString(); Int16StringValue = Int16Value.ToString(); Int32StringValue = Int32Value.ToString(); Int64StringValue = Int64Value.ToString(); NullableInt64StringValue = NullableInt64Value.ToString(); }
public static string GetGuidSqlValue(IDbContext dbContext) { return(dbContext.DbType == DbTypeName.SqlServer? $"'{GuidValue}'" : $"hextoraw('{GuidValue.ToString().Replace("-","")}')"); }
public override string AsJson() { return(JsonFormat.Inject("\"" + StructureId.ToString("N") + "\"", SortOrder, IntegerValue, NullableIntegerValue, StringValue, GuidValue.ToString("N"), BoolValue.ToString().ToLower())); }
public static void CreateTestTableWithAllTypes(IDbContext dbContext, string tableName, bool addDepercatedTypes) { var columnFactory = dbContext.PowerPlant.CreateColumnFactory(); var columns = new List <IColumn> { columnFactory.CreateInstance(ColumnTypeName.BinaryDouble, "binarydouble_col", 0, 0, 0, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.BinaryFloat, "binaryfloat_col", 0, 0, 0, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.Blob, "blob_col", true, ""), columnFactory.CreateInstance(ColumnTypeName.Bool, "bool_col", 0, 1, 0, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.Char, "char_col", 2, false, "' '", "Danish_Norwegian_CI_AS"), columnFactory.CreateInstance(ColumnTypeName.Date, "date_col", false, "MIN_DATE"), columnFactory.CreateInstance(ColumnTypeName.DateTime, "datetime_col", false, "MIN_DATE"), columnFactory.CreateInstance(ColumnTypeName.Dec, "dec_col", 0, 8, 5, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.Float, "float_col", 0, 0, 0, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.Float, "float47_col", 47, 0, 0, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.Guid, "guid_col", true, ""), columnFactory.CreateInstance(ColumnTypeName.Int, "int_col", 0, 15, 0, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.Int16, "int16_col", 0, 5, 0, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.Int64, "int64_col", 0, 20, 0, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.Int8, "int8_col", 0, 3, 0, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.LongText, "longtext_col", 0, false, "' '", "Danish_Norwegian_CI_AS"), columnFactory.CreateInstance(ColumnTypeName.Money, "money_col", 0, 19, 4, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.NChar, "nchar_col", 2, false, "' '", "Danish_Norwegian_CI_AS"), columnFactory.CreateInstance(ColumnTypeName.NLongText, "nlongtext_col", 0, false, "' '", "Danish_Norwegian_CI_AS"), columnFactory.CreateInstance(ColumnTypeName.NVarchar, "nvarchar_col", 50, false, "' '", "Danish_Norwegian_CI_AS"), columnFactory.CreateInstance(ColumnTypeName.Raw, "raw_col", 1000, 0, 0, true, false, "", ""), columnFactory.CreateInstance(ColumnTypeName.SmallDateTime, "smalldatetime_col", false, "MIN_DATE"), columnFactory.CreateInstance(ColumnTypeName.SmallMoney, "smallmoney_col", 0, 10, 4, false, false, "0", ""), columnFactory.CreateInstance(ColumnTypeName.Time, "time_col", false, "MIN_DATE"), columnFactory.CreateInstance(ColumnTypeName.Timestamp, "timestamp_col", false, ""), columnFactory.CreateInstance(ColumnTypeName.Varchar, "varchar_col", 50, false, "' '", "Danish_Norwegian_CI_AS") }; if (addDepercatedTypes) { columns.Add(columnFactory.CreateInstance(ColumnTypeName.OldBlob, "oldblob_col", true, "")); columns.Add(columnFactory.CreateInstance(ColumnTypeName.OldText, "oldtext_col", 0, false, "' '", "Danish_Norwegian_CI_AS")); } var tableDefinition = new TableDefinition(tableName, columns, ""); var dbSchema = dbContext.PowerPlant.CreateDbSchema(); dbSchema.CreateTable(tableDefinition); var stmt = new StringBuilder(); stmt.Append($"insert into {tableName} ("); stmt.Append("binarydouble_col, "); stmt.Append("binaryfloat_col, "); stmt.Append("blob_col, "); stmt.Append("bool_col, "); stmt.Append("char_col, "); stmt.Append("date_col, "); stmt.Append("datetime_col, "); stmt.Append("dec_col, "); stmt.Append("float_col, "); stmt.Append("float47_col, "); stmt.Append("guid_col, "); stmt.Append("int_col, "); stmt.Append("int16_col, "); stmt.Append("int64_col, "); stmt.Append("int8_col, "); stmt.Append("longtext_col, "); stmt.Append("money_col, "); stmt.Append("nchar_col, "); stmt.Append("nlongtext_col, "); stmt.Append("nvarchar_col, "); stmt.Append("raw_col, "); stmt.Append("smalldatetime_col, "); stmt.Append("smallmoney_col, "); stmt.Append("time_col, "); stmt.Append("timestamp_col, "); stmt.Append("varchar_col"); if (addDepercatedTypes) { stmt.Append(", oldblob_col, "); stmt.Append("oldtext_col "); } stmt.Append(")"); stmt.Append("values ("); stmt.Append(GetBinaryDoubleSqlValue()); stmt.Append(GetBinaryFloatSqlValue()); stmt.Append(GetBlobSqlValue(dbContext)); stmt.Append(GetBoolSqlValue()); stmt.Append(GetCharSqlValue()); stmt.Append(GetDateSqlValue(dbContext)); stmt.Append(GetDateTimeSqlValue(dbContext)); stmt.Append(GetDecSqlValue()); stmt.Append(GetFloatSqlValue()); stmt.Append(GetFloat47SqlValue()); stmt.Append(GetGuidSqlValue(dbContext)); stmt.Append(GetIntSqlValue()); stmt.Append(GetInt16SqlValue()); stmt.Append(GetInt64SqlValue()); stmt.Append(GetInt8SqlValue()); stmt.Append(GetLongTextSqlValue()); stmt.Append(GetMoneySqlValue()); stmt.Append(GetNCharSqlValue(dbContext)); stmt.Append(GetNLongTextSqlValue(dbContext)); stmt.Append(GetNVarcharSqlValue(dbContext)); stmt.Append(GetRawSqlValue(dbContext)); stmt.Append(GetSmallDateTimeSqlValue(dbContext)); stmt.Append(GetSmallMoneySqlValue()); stmt.Append(GetTimeSqlValue(dbContext)); stmt.Append(GetTimeStampSqlValue(dbContext)); stmt.Append(GetVarcharSqlValue()); stmt.Append($"{BinaryDoubleValue:F15}, "); stmt.Append($"{BinaryFloatValue:F10}, "); stmt.Append(dbContext.DbType == DbTypeName.SqlServer ? $"convert(varbinary, '{BlobValue}'), " : $"utl_raw.cast_to_raw('{BlobValue}'), "); stmt.Append(BoolValue ? "1, ": "0, "); stmt.Append($"'{CharValue}', "); stmt.Append(dbContext.DbType == DbTypeName.SqlServer ? $"'{DateValue:MMM dd yyyy}', " : $"to_date('{DateValue:MMM dd yyyy}', 'Mon DD YYYY'), "); stmt.Append(dbContext.DbType == DbTypeName.SqlServer ? $"'{DateTimeValue:MMM dd yyyy HH:mm:ss}', " : $"to_date('{DateTimeValue:MMM dd yyyy HH:mm:ss}', 'Mon DD YYYY HH24:MI:SS'), "); stmt.Append($"{DecValue:###.#####}, "); stmt.Append($"{FloatValue:F15}, "); stmt.Append($"{Float47Value:F15}, "); stmt.Append(dbContext.DbType == DbTypeName.SqlServer ? $"'{GuidValue}', " : $"hextoraw('{GuidValue.ToString().Replace("-","")}'), "); stmt.Append($"{IntValue}, "); stmt.Append($"{Int16Value}, "); stmt.Append($"{Int64Value}, "); stmt.Append($"{Int8Value}, "); stmt.Append($"'{LongTextValue}', "); stmt.Append($"{MoneyValue}, "); stmt.Append($"'{NCharValue}', "); stmt.Append($"'{NLongTextValue}', "); stmt.Append($"'{NVarcharValue}', "); stmt.Append(dbContext.DbType == DbTypeName.SqlServer ? $"convert(varbinary, '{RawValue}'), " : $"utl_raw.cast_to_raw('{RawValue}'), "); stmt.Append(dbContext.DbType == DbTypeName.SqlServer ? $"'{SmallDateTimeValue:MMM dd yyyy}', " : $"to_date('{SmallDateTimeValue:MMM dd yyyy}', 'Mon DD YYYY'), "); stmt.Append($"{SmallMoneyValue:F3}, "); stmt.Append(dbContext.DbType == DbTypeName.SqlServer ? $"'{TimeValue:HH:mm:ss}', " : $"to_date('{TimeValue:HH:mm:ss}', 'HH24:MI:SS'), "); stmt.Append(dbContext.DbType == DbTypeName.SqlServer ? $"'{TimeStampValue:MMM dd yyyy HH:mm:ss.fffffff}', " : $"to_timestamp('{TimeStampValue:MMM dd yyyy HH:mm:ss.fffffff}', 'Mon DD YYYY HH24:MI:SS.FF'), "); stmt.Append($"'{VarcharValue}'"); if (addDepercatedTypes) { stmt.Append(", "); stmt.Append(dbContext.DbType == DbTypeName.SqlServer ? $"convert(image, '{BlobValue}'), " : $"utl_raw.cast_to_raw('{BlobValue}'), "); stmt.Append($"'{LongTextValue}'"); } stmt.Append(")"); var commands = dbContext.PowerPlant.CreateCommands(); commands.ExecuteNonQuery(stmt.ToString()); }