I was using the SQL version and performance landed on its face.

Using this in my join of two tables...

left join source on Regexp_like(srcdta,
'[^A-Za-z0-9_@#$]'||trim(field)||'[^A-Za-z0-9_@#$]','i')

it runs for about 5 minutes.

Switching to this (which only finds ACCT and doesn't eliminate prefixed or
suffixed values such as ACCT01)

left join source on srcdta like '%'||trim(field)||'%'

it runs in about 5 seconds.

These times are pretty consistent over multiple tests (alternating which is
executed first) so it is not caching or CPU bog down or any of that.

So. I thought I would switch to use the later and then then add the RegEx to
my RPG for the other part and see what that does.

-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of David
Gibbs via RPG400-L
Sent: Tuesday, June 4, 2019 11:29 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Cc: David Gibbs <david@xxxxxxxxxxxx>
Subject: Re: Need help with a regex pattern

On Tue, Jun 4, 2019 at 10:23 AM <smith5646midrange@xxxxxxxxx> wrote:
Is there a way to build an expression so I can provide a variable
value at run time rather than freeing and recompiling the pattern
every time the variable changes?

Are you using the regex api's directly?

If so, I suggest you take a look at the SQL regexp_* functions.

https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/db2/rbafzscaregexp_
substr.htm

They are much easier to work with IMO.

david


--
IBM i on Power Systems: For when you can't afford to be out of business!

I'm riding 615 miles (Yes, you read that right) in the American Diabetes
Association's Tour de Cure to raise money for diabetes research, education,
advocacy, and awareness. You can make a tax-deductible donation to my ride
by visiting https://mideml.diabetessucks.net.

You can see where my donations come from by visiting my interactive donation
map ... https://mideml.diabetessucks.net/map (it's a geeky thing).

I may have diabetes, but diabetes doesn't have me!
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a
message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.