Deveel.Data.Sql.Tables.ColumnInfo.Deserialize C# (CSharp) Method

Deserialize() public static method

public static Deserialize ( BinaryReader reader, ITypeResolver typeResolver ) : ColumnInfo
reader System.IO.BinaryReader
typeResolver ITypeResolver
return ColumnInfo
        public static ColumnInfo Deserialize(BinaryReader reader, ITypeResolver typeResolver)
        {
            var version = reader.ReadInt32();
            if (version != 3)
                throw new FormatException("Invalid version of the Column-Info");

            var columnName = reader.ReadString();
            var columnType = TypeSerializer.Deserialize(reader, typeResolver);

            var notNull = reader.ReadByte() == 1;

            var columnInfo = new ColumnInfo(columnName, columnType);
            columnInfo.IsNotNull = notNull;

            var hasDefault = reader.ReadByte() == 1;
            if (hasDefault)
                columnInfo.DefaultExpression = SqlExpression.Deserialize(reader);

            return columnInfo;
        }