Re: Does npgsql have a bunch of bugs with DB enums?

Поиск
Список
Период
Сортировка
От Mike Christensen
Тема Re: Does npgsql have a bunch of bugs with DB enums?
Дата
Msg-id AANLkTilqfWpcyoQNpK6u_u91mggbHHfikZjg7Kedp9WP@mail.gmail.com
обсуждение исходный текст
Ответ на Does npgsql have a bunch of bugs with DB enums?  (Mike Christensen <mike@kitchenpc.com>)
Ответы Re: Does npgsql have a bunch of bugs with DB enums?  ("Francisco Figueiredo Jr." <francisco@npgsql.org>)
Список pgsql-general
Ok I did more investigation on this and traced the issue down to a
singe npgsql bug.  Enums actually work fine, as long as you're using
an IDataReader to get at the data.  Once you attempt to load the
reader into a DataSet, it blows up.  I'll log this bug..

Mike

On Mon, Jun 7, 2010 at 4:43 AM, Mike Christensen <mike@kitchenpc.com> wrote:
> This is probably not the right forum for this question, but maybe
> someone can help me out or redirect me.
>
> I'm running into a lot of problems with npgsql and enum types.  There
> seems to be very little support or testing in this area.  The issue
> right now is I have a lot of SQL functions that have OUT parameters of
> an enum type.  Such as:
>
> CREATE TYPE UnitTypeEnum AS ENUM ('Unit', 'Volume', 'Weight');
>
>
> CREATE OR REPLACE FUNCTION readformsforingredient(IN _ingredient text,
> OUT UnitType UnitTypeEnum)
>  RETURNS SETOF record AS
> ...
>
> When I call that function using the npgsql driver, I get all sorts of
> errors.  The data table simple has no ProviderType (it's blank), even
> though the DataType is System.String.  If I try to read the data
> reader, I get exceptions.  The solution I found is to cast the enum to
> a text, such as:
>
> CREATE OR REPLACE FUNCTION readformsforingredient(IN _ingredient text,
> OUT UnitType text)
> ...
> select UnitType::text from foo;
>
> However, this becomes a pain if I'm not using OUT parameters and just
> returning a set of a row type.  Plus, having to cast ENUMs is kind of
> a hack.
>
> Are the people working on npgsql aware of this problem, and can we
> expect to get real enum support in future versions?  It seems they
> should just magically cast to either a string or an int and I
> shouldn't have to worry about that.  Thanks!!
>
> Mike
>

В списке pgsql-general по дате отправления:

Предыдущее
От: u235sentinel
Дата:
Сообщение: Re: Dell Poweredge server and Postgres
Следующее
От: Mike Christensen
Дата:
Сообщение: What's the best type of index for an ENUM column?