Exactly, it is optional feature (turned off by default) which currently
is really missing and seems that it even cannot be "simulated" by
HandleSetErr.

On Thursday 17 January 2019 18:24:26 Dan Book wrote:
> While I'm a staunch opponent of fatal warnings in general, and I believe
> Pali has voiced concern with them as well, this is somewhat unrelated as it
> has nothing to do with the core warnings pragma and categories, and is
> simply an *option* to cause DBI to exhibit different behavior which it
> currently cannot. As such I think it's a fine idea.
> 
> -Dan
> 
> On Thu, Jan 17, 2019 at 6:20 PM Alexander Hartmaier <a...@hartmaier.priv.at>
> wrote:
> 
> > I didn‘t want to start a discussion about deprecation because I know the
> > opinion about that for most Perl 5 developers.
> >
> > But strictures and its use in Moo showed that exceptions from warnings
> > aren‘t welcome.
> > You can install a warn handler in your code without requiring any change.
> > Adding another option raises the number of combinations.
> >
> > As I don‘t see any benefit and no examples where given I‘m against it.
> >
> > > Am 17.01.2019 um 23:57 schrieb p...@cpan.org:
> > >
> > > Personally I do not like changing Print/Raise. It is documented,
> > > implementation seems to match documentation, it is without bugs and
> > > current behavior is usable.
> > >
> > > Anyway, back to my question about RaiseWarn. Do you think that it make
> > > sense to have it in DBI?
> > >
> > >> On Thursday 17 January 2019 11:02:51 Darren Duncan wrote:
> > >> Generally speaking, DBI is one of those things where backwards
> > compatibility
> > >> should be the highest concern after security.  There is a time and
> > place to
> > >> break compatibility, and this Print/Raise thing seems way too minor to
> > me
> > >> for that.  I support the version of this that is backwards-compatible
> > and
> > >> not the breaking version. -- Darren Duncan
> > >>
> > >>> On 2019-01-17 2:43 AM, p...@cpan.org wrote:
> > >>>> On Thursday 17 January 2019 11:06:22 Alexander Hartmaier wrote:
> > >>>> I'm aware of that, semantic versioning and major versions exist to
> > handle API breakage.
> > >>>
> > >>> Such thing is unsupported by CPAN clients. So we cannot use it.
> > >>>
> > >>> Anyway, this is question for Tim as DBI maintainer. But I guess he does
> > >>> not want to change API of DBI.
> > >>>
> > >>>> My question is how to detect if an exception is because of a warn or
> > a die when RaiseWarn is true.
> > >>>
> > >>> I guess you can use $dbh->err() method.
> > >>> See: https://metacpan.org/pod/DBI#err
> > >>>
> > >>> A driver may return 0 from err() to indicate a warning condition after
> > a
> > >>> method call. Similarly, a driver may return an empty string to indicate
> > >>> a 'success with information' condition. In both these cases the value
> > is
> > >>> false but not undef.
> > >>>
> > >>> Note that 'success with information' is not warning and therefore DBI's
> > >>> PrintWarn or RaiseWarn ignores them.
> > >>>
> > >>>> Best regards, Alex
> > >>>>
> > >>>>> On 2019-01-17 10:53, p...@cpan.org wrote:
> > >>>>> On Thursday 17 January 2019 10:23:25 Alexander Hartmaier wrote: > I
> > don't see the benefit, Print* should die This would break existing API of
> > DBI. Print just prints and Raise dies. This cannot be changed as there are
> > many applications which depends on this API. > and I'd personally would
> > release a major release and change the defaults as a breaking change:
> > PrintError false, RaiseError true. > Can you name a use case and how to
> > differ between an error and a warning at the error handling side? It is up
> > to the DBI driver or database server what would result in is a warning and
> > what in an error. > Best regards, Alex > > > On 2019-01-17 10:04,
> > p...@cpan.org wrote: > > Hello! What do you think about adding a new
> > attribute $dbh->{RaiseWarn} which cause that warnings reported by DBI
> > drivers would behave like errors? For errors DBI has there
> > $dbh->{PrintError} and $dbh->{RaiseError} attributes. First one is by
> > default true and second one by default false. When PrintWarn is true, the
> > >>>>  n all er
> > >>>>
> > >>>> ror from DBI driver are passed to perl's "warn" function and when
> > RaiseError is true, then errors are passed to perl's "die" function. (Plus
> > there is ability to register own error handler function) Currently DBI has
> > only $dbh->{PrintWarn} attribute to control warnings. When is set to true
> > (by default) all warnings from DBI driver are passed to perl's "warn"
> > function. So I would propose to add $dbh->{RaiseWarn} attribute (off by
> > default) to behave like $dbh->{RaiseError}, but for warnings. I have
> > implemented this attribute and patch is there:
> > https://github.com/perl5-dbi/dbi/pull/71/files
> > >>>>
> > >>>>
> > >>>
> > >>
> >

Reply via email to