VerticaDbTypeNameToClientTypeResolver
This IResolver<string, Type> implementation converts a Vertica column type name — as returned by v_catalog.columns.data_type, with its (size)/(precision,scale) suffix already stripped — into its equivalent .NET CLR type. It is the default DbTypeResolver used by VerticaDbHelper.
Verified directly against
VerticaDataReader.GetSchemaTable(): Vertica has no distinct storage widths for its integer or floating-point types —SMALLINT/INTEGER/BIGINT/etc. are all synonyms for one 8-byte integer (reported asint), andFLOAT/DOUBLE PRECISION/REALare all synonyms for one 8-byte float (reported asfloat) — so both resolve to their widest CLR type (long/double), notint/float.TIMEis reported back asSystem.DateTime, notTimeSpan.
Usability
var resolver = new VerticaDbTypeNameToClientTypeResolver();
var clrType = resolver.Resolve("varchar"); // typeof(string)