def main(cmd):
    seen = {}
    printed = 0
    for queries in queryutils.get_queries(limit=800*BYTES_IN_MB):
        for query in queries:
            if not query.text in seen:
                stages = queryutils.break_into_stages(query)
                cmd_invocations = queryutils.filter_stages_by(cmd, stages)
                for inst in cmd_invocations:
                    if not inst in seen:
                        print inst
                        printed += 1
                        seen[inst] = 1
            seen[query.text] = 1
            if printed > 500:
                break
Esempio n. 2
0
def main():
    done = 0
    seen = defaultdict(int)
    for queries in queryutils.get_queries(limit=800*BYTES_IN_MB):
        for query in queries:
            template = queryutils.extract_template(query) 
            if template is None: continue
            s = template.str_tree()
            seen[s] += 1 
            done += 1
            if done % 100 == 0:
                sys.stderr.write(str(done) + " done\n")
                sys.stderr.flush()

    print "Number of templates: ", len(seen.keys())
    templates = sorted(seen.items(), key=lambda x: x[1], reverse=True)
    for (template, count) in templates:
        print "Template: \n", template
        print "Count: ", count
        print