Npgsql: Remove internal exceptions, during connection initialization

Created on 1 Jun 2018  路  4Comments  路  Source: npgsql/npgsql

Steps to reproduce

Connect to a database that doesn't have any extensions installed

The issue

Several exceptions occur in ConnectorTypeMapper.DoBindType method

Further technical details

Npgsql version: 4.0
PostgreSQL version: 10.0
Operating system: WINDOWS 10

cleanup

Most helpful comment

@roji warnings are gone with 4.1.0-ci.1001

All 4 comments

[2018-06-05 16:53:18Z WRN] [Npgsql.TypeMapping.ConnectorTypeMapper] Exception while binding type hstore
System.ArgumentException: A PostgreSQL type with the name hstore was not found in the database
   at void Npgsql.TypeMapping.ConnectorTypeMapper.DoBindType(NpgsqlTypeMapping mapping, NpgsqlConnector connector)
   at void Npgsql.TypeMapping.ConnectorTypeMapper.BindType(NpgsqlTypeMapping mapping, NpgsqlConnector connector, bool throwOnError)
[2018-06-05 16:53:18Z WRN] [Npgsql.TypeMapping.ConnectorTypeMapper] Exception while binding type citext
System.ArgumentException: A PostgreSQL type with the name citext was not found in the database
   at void Npgsql.TypeMapping.ConnectorTypeMapper.DoBindType(NpgsqlTypeMapping mapping, NpgsqlConnector connector)
   at void Npgsql.TypeMapping.ConnectorTypeMapper.BindType(NpgsqlTypeMapping mapping, NpgsqlConnector connector, bool throwOnError)
[2018-06-05 16:53:18Z WRN] [Npgsql.TypeMapping.ConnectorTypeMapper] Exception while binding type unknown
System.ArgumentException: A PostgreSQL type with the name unknown was not found in the database
   at void Npgsql.TypeMapping.ConnectorTypeMapper.DoBindType(NpgsqlTypeMapping mapping, NpgsqlConnector connector)
   at void Npgsql.TypeMapping.ConnectorTypeMapper.BindType(NpgsqlTypeMapping mapping, NpgsqlConnector connector, bool throwOnError)
[2018-06-05 16:53:18Z WRN] [Npgsql.TypeMapping.ConnectorTypeMapper] Exception while binding type int2vector
System.NotSupportedException: Specified method is not supported.
   at ArrayHandler Npgsql.TypeHandlers.ArrayHandler.CreateArrayHandler(PostgresType arrayBackendType)
   at void Npgsql.TypeMapping.ConnectorTypeMapper.BindArrayType(NpgsqlTypeHandler elementHandler, PostgresArrayType pgArrayType, Nullable<NpgsqlDbType> elementNpgsqlDbType, Type[] elementClrTypes)
   at void Npgsql.TypeMapping.ConnectorTypeMapper.BindType(NpgsqlTypeHandler handler, PostgresType pgType, Nullable<NpgsqlDbType> npgsqlDbType, DbType[] dbTypes, Type[] clrTypes)
   at void Npgsql.TypeMapping.ConnectorTypeMapper.DoBindType(NpgsqlTypeMapping mapping, NpgsqlConnector connector)
   at void Npgsql.TypeMapping.ConnectorTypeMapper.BindType(NpgsqlTypeMapping mapping, NpgsqlConnector connector, bool throwOnError)
[2018-06-05 16:53:18Z WRN] [Npgsql.TypeMapping.ConnectorTypeMapper] Exception while binding type oidvector
System.NotSupportedException: Specified method is not supported.
   at ArrayHandler Npgsql.TypeHandlers.ArrayHandler.CreateArrayHandler(PostgresType arrayBackendType)
   at void Npgsql.TypeMapping.ConnectorTypeMapper.BindArrayType(NpgsqlTypeHandler elementHandler, PostgresArrayType pgArrayType, Nullable<NpgsqlDbType> elementNpgsqlDbType, Type[] elementClrTypes)
   at void Npgsql.TypeMapping.ConnectorTypeMapper.BindType(NpgsqlTypeHandler handler, PostgresType pgType, Nullable<NpgsqlDbType> npgsqlDbType, DbType[] dbTypes, Type[] clrTypes)
   at void Npgsql.TypeMapping.ConnectorTypeMapper.DoBindType(NpgsqlTypeMapping mapping, NpgsqlConnector connector)
   at void Npgsql.TypeMapping.ConnectorTypeMapper.BindType(NpgsqlTypeMapping mapping, NpgsqlConnector connector, bool throwOnError)

Pushed a fix. @rwasef1830 and possibly others, can you please test 4.1.0-ci.1001 from the unstable feed and confirm that these first-chance exceptions are gone? If so I'll merge for the 4.0.1 release.

@roji warnings are gone with 4.1.0-ci.1001

Thanks.

Was this page helpful?
0 / 5 - 0 ratings