static private Load ( |
||
reader | ||
fieldHandlerFactory | IFieldHandlerFactory | |
tableName | string | |
handlerOptions | FieldHandlerOptions | |
return |
internal static TableFieldInfo Load(AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory,
string tableName, FieldHandlerOptions handlerOptions)
{
var name = reader.ReadString();
var handlerName = reader.ReadString();
var configuration = reader.ReadByteArray();
var fieldHandler = fieldHandlerFactory.CreateFromName(handlerName, configuration, handlerOptions);
if (fieldHandler == null) throw new BTDBException(
$"FieldHandlerFactory did not created handler {handlerName} in {tableName}.{name}");
return new TableFieldInfo(name, fieldHandler);
}
internal static TableVersionInfo Load(ref SpanReader reader, IFieldHandlerFactory fieldHandlerFactory, string tableName) { var fieldCount = reader.ReadVUInt32(); var fieldInfos = new TableFieldInfo[fieldCount]; for (var i = 0; i < fieldCount; i++) { fieldInfos[i] = TableFieldInfo.Load(ref reader, fieldHandlerFactory, tableName, FieldHandlerOptions.None); } return(new TableVersionInfo(fieldInfos)); }