示例#1
0
 /// <summary>
 ///     Creates a measurement with the specified name, DateTime as Key and the specified type as Value
 /// </summary>
 /// <param name="name"></param>
 /// <param name="type"></param>
 /// <param name="db"></param>
 public Measurement(string name, Type type, Db db) : this()
 {
     _db = db;
     MetadataInternal = new MeasurementMetadata(name);
     MetadataInternal.ColumnsInternal.Add(new Column(Settings.Default.KeyColumnName, typeof(DateTime)));
     MetadataInternal.ColumnsInternal.Add(new Column(Settings.Default.ValueColumnName, type));
     Init();
 }
示例#2
0
        //Later, a more sophisticated factory method is required
        public RowReaderWriter CreateRowReaderWriter(MeasurementMetadata metadata)
        {
            var valueType = metadata.ColumnsInternal[1].ValueType;
            if (valueType == typeof (float))
            {
                return new FloatRowReaderWriter();
            }
            if (valueType == typeof (double))
            {
                return new DoubleRowReaderWriter();
            }
            if (valueType == typeof (bool))
            {
                return new BoolRowReaderWriter();
            }
            if (valueType == typeof (byte))
            {
                return new ByteRowReaderWriter();
            }
            if (valueType == typeof (short))
            {
                return new ShortRowReaderWriter();
            }
            if (valueType == typeof (int))
            {
                return new IntRowReaderWriter();
            }
            if (valueType == typeof (long))
            {
                return new LongRowReaderWriter();
            }
            if (valueType == typeof (decimal))
            {
                return new DecimalRowReaderWriter();
            }
            if (valueType == typeof (DateTime))
            {
                return new DateTimeRowReaderWriter();
            }

            throw new NotSupportedException("Invalid column type");
        }
示例#3
0
 public Measurement(MeasurementMetadata metadataInternal, Db db) : this()
 {
     _db = db;
     MetadataInternal = metadataInternal;
     Init();
 }