Skip to content

Instantly share code, notes, and snippets.

@alostale
Last active February 17, 2017 09:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alostale/ddfd1ca890e3dbae3c3558fc2fa1bfc6 to your computer and use it in GitHub Desktop.
Save alostale/ddfd1ca890e3dbae3c3558fc2fa1bfc6 to your computer and use it in GitHub Desktop.
parsing params 0: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM();
found false
0 params took 3 ms
parsing params 1: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0);
found false
1 params took 0 ms
parsing params 2: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1);
found false
2 params took 1 ms
parsing params 3: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2);
found false
3 params took 0 ms
parsing params 4: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3);
found false
4 params took 1 ms
parsing params 5: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4);
found false
5 params took 1 ms
parsing params 6: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5);
found false
6 params took 3 ms
parsing params 7: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6);
found false
7 params took 2 ms
parsing params 8: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7);
found false
8 params took 4 ms
parsing params 9: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8);
found false
9 params took 7 ms
parsing params 10: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
found false
10 params took 17 ms
parsing params 11: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
found false
11 params took 44 ms
parsing params 12: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11);
found false
12 params took 104 ms
parsing params 13: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12);
found false
13 params took 130 ms
parsing params 14: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13);
found false
14 params took 291 ms
parsing params 15: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
found false
15 params took 859 ms
parsing params 16: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15);
found false
16 params took 2554 ms
parsing params 17: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16);
found false
17 params took 7485 ms
parsing params 18: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17);
found false
18 params took 22225 ms
parsing params 19: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18);
found false
19 params took 67530 ms
parsing params 20: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19);
found false
20 params took 204997 ms
parsing params 21: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20);
parsing params 0: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM();
found false
0 params took 3 ms
parsing params 1: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0);
found false
1 params took 1 ms
parsing params 2: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1);
found false
2 params took 1 ms
parsing params 3: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2);
found false
3 params took 1 ms
parsing params 4: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3);
found false
4 params took 1 ms
parsing params 5: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4);
found false
5 params took 1 ms
parsing params 6: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5);
found false
6 params took 2 ms
parsing params 7: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6);
found false
7 params took 2 ms
parsing params 8: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7);
found false
8 params took 4 ms
parsing params 9: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8);
found false
9 params took 7 ms
parsing params 10: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9);
found false
10 params took 18 ms
parsing params 11: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
found false
11 params took 26 ms
parsing params 12: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11);
found false
12 params took 79 ms
parsing params 13: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12);
found false
13 params took 194 ms
parsing params 14: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13);
found false
14 params took 346 ms
parsing params 15: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14);
found false
15 params took 865 ms
parsing params 16: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15);
found false
16 params took 2567 ms
parsing params 17: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16);
found false
17 params took 7611 ms
parsing params 18: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17);
found false
18 params took 23168 ms
parsing params 19: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18);
found false
19 params took 68270 ms
parsing params 20: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19);
found true
20 params took 0 ms
parsing params 21: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20);
found true
21 params took 1 ms
parsing params 22: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21);
found true
22 params took 0 ms
parsing params 23: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22);
found true
23 params took 0 ms
parsing params 24: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23);
found true
24 params took 0 ms
parsing params 25: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24);
found true
25 params took 1 ms
parsing params 26: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25);
found true
26 params took 0 ms
parsing params 27: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26);
found true
27 params took 0 ms
parsing params 28: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27);
found true
28 params took 0 ms
parsing params 29: SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28);
found true
29 params took 0 ms
package org.openbravo.dbsm.test.base.matchers;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestRegexp {
public static void main(String[] args) {
for (int i = 0; i < 30; i++) {
long t = System.currentTimeMillis();
p(i);
System.out.println(" " + i + " params took " + (System.currentTimeMillis() - t) + " ms");
}
}
private static void p(int numOfParams) {
String line = "SELECT * INTO v_pinstance_result, v_pinstance_msg FROM M_GET_STOCK_PARAM(";
for (int i = 0; i < numOfParams; i++) {
line += "p" + i + (i == numOfParams - 1 ? "" : ", ");
}
line += ");";
System.out.println("parsing params " + numOfParams + ": " + line);
String p = "(?i)SELECT \\* INTO[\\s]*([^\\(\\s]+)[\\s]*,[\\s]*([^\\(\\s]+)[\\s]*FROM\\s*([Mm][__][Gg][Ee][Tt][__][Ss][Tt][Oo][Cc][Kk][__][Pp][Aa][Rr][Aa][Mm])\\s*\\(\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*,\\s*(.+?)\\s*\\)";
Pattern _p = Pattern.compile(p);
Matcher m = _p.matcher(line);
boolean found = m.find();
System.out.println(" found " + found);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment