Thank you very much, Mike! We'll have a look at that. On Tue, Jun 8, 2010 at 00:03, Mike Christensen <mike@xxxxxxxxxxxxx> wrote: > 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@xxxxxxxxxxxxx> 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 >> > > -- > Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general > -- Regards, Francisco Figueiredo Jr. Npgsql Lead Developer http://www.npgsql.org http://fxjr.blogspot.com http://twitter.com/franciscojunior -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general