On Wed, Mar 04, 2020 at 05:09:19PM -0700, David G. Johnston wrote:
> On Wed, Mar 4, 2020 at 4:21 PM stan <stanb@panix.com> wrote:
>
> > Probably a bit off topic, but I suspect someone on this list knows how to
> > do
> > this.
> >
> > I am in the process of writing a plperl function. In this function I need
> > to compare the data in the NEW versus OLD structures. I am writing this as
> > a
> > generic subroutine, so I am looping through and comparing the 2 to see what
> > is different. Problem is, that I need to know whether to us n != or a ne
> > comparison.
> >
> > how can I determine what the data type of the value element is?
> >
>
> Not up to speed on Perl but you basically want everything to be done using
> string equality - can't you just use "ne" everywhere and not worry about
> comparing numbers using string comparison logic? Might want to disabled
> warnings...
>
> That would have to be faster than executing a type_of function on every
> single column.
>
> Then measure performance and decide whether a generic routine is performant
> enough. If not you might try creating custom function dynamically using
> the catalogs as input.
Since I am just looking for differences, this may work. Obviously comparing
numeric values as strings has issues.
Presently I am getting some warnings, so I think I need to deal with the
types. I already dealt with the columns that return NULL, these are
undefined in the Perl hash, so I have to test for their existence before
attempting the compare.
--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin