[asterisk-dev] [Code Review] 3161: res_sorcery_astdb.c: Fix regex handling and keep simple prefix matching performance.
wdoekes
reviewboard at asterisk.org
Tue Jan 28 04:00:11 CST 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3161/#review10706
-----------------------------------------------------------
Sound like a plan.
/trunk/res/res_sorcery_astdb.c
<https://reviewboard.asterisk.org/r/3161/#comment20208>
I'd rather see this in a separate function. It takes up half the space in this one right now.
/trunk/res/res_sorcery_astdb.c
<https://reviewboard.asterisk.org/r/3161/#comment20206>
And no need to add % below, right?
/trunk/res/res_sorcery_astdb.c
<https://reviewboard.asterisk.org/r/3161/#comment20210>
Your comments are right. Fix the nextchar check and add a quick check to see if any "|" is found (ignoring parentheses and backslashes for the sake of simplicity).
Sounds like not too much work.
/trunk/res/res_sorcery_astdb.c
<https://reviewboard.asterisk.org/r/3161/#comment20207>
Adding twice? (You don't even have enough space.)
/trunk/res/res_sorcery_astdb.c
<https://reviewboard.asterisk.org/r/3161/#comment20209>
So, I deduce that:
tree=="" means tree=="%", but
tree="abc" does not mean tree="abc%"
?
(And if we have ^ and no regex at all, we could skip the regcomp and regexec. Right?)
- wdoekes
On Jan. 27, 2014, 10:06 p.m., rmudgett wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3161/
> -----------------------------------------------------------
>
> (Updated Jan. 27, 2014, 10:06 p.m.)
>
>
> Review request for Asterisk Developers.
>
>
> Repository: Asterisk
>
>
> Description
> -------
>
> The sorcery astDB wizzard does not handle regex correctly if the pattern begins with an anchor character.
>
> This patch attempts to convert the anchored regex pattern to a prefix pattern supported by astDB for performance reasons. If it is not able to convert the pattern it gets all astDB members of the family and then does a normal regex pattern matching on the resulting records retrieved.
>
>
> Diffs
> -----
>
> /trunk/res/res_sorcery_astdb.c 406695
>
> Diff: https://reviewboard.asterisk.org/r/3161/diff/
>
>
> Testing
> -------
>
> Simple regex patterns that are just prefixes are converted and the astDB just fetches the matching records. More complex patterns fallback to getting all astDB family records and searching them by regex.
>
>
> Thanks,
>
> rmudgett
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140128/cfe50816/attachment-0001.html>
More information about the asterisk-dev
mailing list