internal EnumHandler(IBackendType backendType, Dictionary <TEnum, string> enumToLabel, Dictionary <string, TEnum> labelToEnum) : base(backendType) { Contract.Requires(typeof(TEnum).GetTypeInfo().IsEnum, "EnumHandler instantiated for non-enum type"); _enumToLabel = enumToLabel; _labelToEnum = labelToEnum; }
internal EnumHandler(IBackendType backendType, INpgsqlNameTranslator nameTranslator) : base(backendType) { Contract.Requires(typeof(TEnum).GetTypeInfo().IsEnum, "EnumHandler instantiated for non-enum type"); _enumToLabel = new Dictionary <TEnum, string>(); _labelToEnum = new Dictionary <string, TEnum>(); GenerateMappings(nameTranslator, _enumToLabel, _labelToEnum); }
public TimeHandler(IBackendType backendType, TypeHandlerRegistry registry) : base(backendType) { // Check for the legacy floating point timestamps feature, defaulting to integer timestamps string s; _integerFormat = !registry.Connector.BackendParams.TryGetValue("integer_datetimes", out s) || s == "on"; }
internal PostgisGeometryHandler(IBackendType backendType, TypeHandlerRegistry registry) : base(backendType) { var byteaHandler = registry[NpgsqlDbType.Bytea]; if (_byteaHandler == registry.UnrecognizedTypeHandler) { Log.Warn("oid type not present when setting up oidvector type. oidvector will not work."); return; } _byteaHandler = (ByteaHandler)byteaHandler; }
public Int2VectorHandler(IBackendType backendType, TypeHandlerRegistry registry) : base(backendType, null, 0) { // The pg_type SQL query makes sure that the int2 type comes before int2vector, so we can // depend on it already being in the registry var shortHandler = registry[NpgsqlDbType.Smallint]; if (shortHandler == registry.UnrecognizedTypeHandler) { Log.Warn("smallint type not present when setting up int2vector type. int2vector will not work."); return; } ElementHandler = shortHandler; }
public OIDVectorHandler(IBackendType backendType, TypeHandlerRegistry registry) : base(backendType, null, 0) { // The pg_type SQL query makes sure that the oid type comes before oidvector, so we can // depend on it already being in the registry var oidHandler = registry[NpgsqlDbType.Oid]; if (oidHandler == registry.UnrecognizedTypeHandler) { Log.Warn("oid type not present when setting up oidvector type. oidvector will not work."); return; } ElementHandler = oidHandler; }
public BitStringArrayHandler(IBackendType backendType, BitStringHandler elementHandler) : base(backendType, elementHandler) { }
internal Int16Handler(IBackendType backendType) : base(backendType) { }
internal ByteaHandler(IBackendType backendType) : base(backendType) { }
/// <summary> /// Creates a type handler for ranges of this handler's type. /// </summary> internal abstract TypeHandler CreateRangeHandler(IBackendType rangeBackendType);
internal TextHandler(IBackendType backendType) : base(backendType) { }
internal override TypeHandler CreateRangeHandler(IBackendType backendType) { throw new Exception("Can't create range handler of range types, this is an Npgsql bug, please report."); }
/// <summary> /// Creates a type handler for arrays of this handler's type. /// </summary> internal abstract ArrayHandler CreateArrayHandler(IBackendType arrayBackendType);
public IEnumHandler Create(IBackendType backendType) => new EnumHandler <TEnum>(backendType, _enumToLabel, _labelToEnum);
internal PolygonHandler(IBackendType backendType) : base(backendType) { }
internal SimpleTypeHandlerWithPsv(IBackendType backendType) : base(backendType) { }
internal override ArrayHandler CreateArrayHandler(IBackendType arrayBackendType) { return(new ArrayHandlerWithPsv <T, TPsv>(arrayBackendType, this)); }
internal CompositeHandler(IBackendType backendType, INpgsqlNameTranslator nameTranslator, TypeHandlerRegistry registry) : base(backendType) { _nameTranslator = nameTranslator; _registry = registry; }
public ICompositeHandler Create(IBackendType backendType, TypeHandlerRegistry registry) => new CompositeHandler <T>(backendType, _nameTranslator, registry);
internal JsonbHandler(IBackendType backendType) : base(backendType) { _textHandler = new TextHandler(backendType); }
internal NonSafeExceptionGeneratingHandler(IBackendType backendType) : base(backendType) { }
internal CircleHandler(IBackendType backendType) : base(backendType) { }
public RecordHandler(IBackendType backendType, TypeHandlerRegistry registry) : base(backendType) { _registry = registry; }
internal override ArrayHandler CreateArrayHandler(IBackendType backendType) { // BitString requires a special array handler which returns bool or BitArray return(new BitStringArrayHandler(backendType, this)); }
internal ChunkingTypeHandler(IBackendType backendType) : base(backendType) { }
public RangeHandler(IBackendType backendType, TypeHandler <TElement> elementHandler) : base(backendType) { ElementHandler = elementHandler; }
internal BitStringHandler(IBackendType backendType) : base(backendType) { }
internal ChunkingTypeHandlerContracts(IBackendType backendType) : base(backendType) { }
internal DoubleHandler(IBackendType backendType) : base(backendType) { }
internal TypeHandler(IBackendType backendType) { BackendType = backendType; }