protected override object CreateRandomValueInternal(SqlRandomizer rand, SqlRandomTableColumn columnInfo) { SqlRandomTypeInfo subType = s_variantSubTypes[rand.NextIntInclusive(0, maxValueInclusive: s_variantSubTypes.Length - 1)]; object val = subType.CreateRandomValue(rand, new SqlRandomTableColumn(subType, SqlRandomColumnOptions.None, 8000)); char[] cval = val as char[]; if (cval != null) { int maxLength = IsUnicodeType(subType.Type) ? 4000 : 8000; Debug.Assert(cval.Length < maxLength, "char array length cannot be greater than " + maxLength); // cannot insert char[] into variant val = new string((char[])val); } else { byte[] bval = val as byte[]; if (bval != null) { Debug.Assert(bval.Length < 8000, "byte array length cannot be greater than 8000"); } } return(val); }
public object CreateRandomValue(SqlRandomizer rand) { return(TypeInfo.CreateRandomValue(rand, this)); }