Subject | Re: Proposal to add SQLState to Vulcan |
---|---|
Author | Bill Oliver |
Post date | 2007-02-06T16:58:06Z |
> Is this really a problem? I mean, it can be solved with the currenterror is
> functionality. Just append more information at the point where the
> generated.0);
> if (divisor == 0)
> ERR_post(isc_arith_except, 0);
> =>
> if (divisor == 0)
> ERR_post(isc_arith_except,
> isc_arg_gds, isc_zero_div,
>Claudio is right - I think the problem here is simply that we just
don't call the right error for divide by zero. There is
exception_integer_divide_by_zero and exception_float_divide_by_zero
that aren't used in jrd/evl.cpp where they should be.
> > Here's a case where we don't generate a specific error, butshould. We
> > should map error below to SQLSTATE 42S21, "Column alreadyexists."
> >transactions) in
> > SQL> create table test (i integer) ;
> > SQL> alter table test add i integer ;
> > Statement failed, SQLCODE = -607
> > unsuccessful metadata update
> > -STORE RDB$RELATION_FIELDS failed
> > -attempt to store duplicate value (visible to active
> > unique index "RDB$INDEX_15"raw
>
> IMHO, this just requires more work in DYN. These messages refer to
> operations on system tables.Yes, i think that is the right answer.
>
> C.
>