| 61 | |
| 62 | |
| 63 | def extract_label(text): |
| 64 | |
| 65 | pattern = r"Label: ([\w-]+), ([\w-]+)" |
| 66 | |
| 67 | result = re.search(pattern, text) |
| 68 | return_label = [] |
| 69 | |
| 70 | if result: |
| 71 | labels = result.groups() |
| 72 | if "NON-JOIN" in labels and "NON-NESTED" in labels: |
| 73 | return_label.append("EASY") |
| 74 | elif "JOIN" in labels and "NON-NESTED" in labels: |
| 75 | return_label.append("JOIN") |
| 76 | elif "NESTED" in labels and "NON-JOIN" in labels: |
| 77 | return_label.append("NESTED") |
| 78 | elif "NESTED" in labels and "JOIN" in labels: |
| 79 | return_label.append("JOIN-NESTED") |
| 80 | else: |
| 81 | return_label.append("EASY") |
| 82 | |
| 83 | if "MAX" in labels: |
| 84 | return_label.append("MAX") |
| 85 | elif "MIN" in labels: |
| 86 | return_label.append("MIN") |
| 87 | elif "SUM" in labels: |
| 88 | return_label.append("SUM") |
| 89 | elif "AVG" in labels: |
| 90 | return_label.append("AVG") |
| 91 | elif "COUNT" in labels: |
| 92 | return_label.append("COUNT") |
| 93 | else: |
| 94 | return_label.append("NON") |
| 95 | return return_label[0], return_label[1] |
| 96 | return "EASY", "NON" |
| 97 | |
| 98 | |
| 99 | def extract_sql(text, init_sql): |