57 lines
1.9 KiB
C
57 lines
1.9 KiB
C
|
#ifndef __QUERIES_H__
|
||
|
#define __QUERIES_H__
|
||
|
|
||
|
#include <string>
|
||
|
#include <vector>
|
||
|
|
||
|
typedef std::pair<std::string, std::string> SQLQuery;
|
||
|
|
||
|
// name, query
|
||
|
static std::vector<SQLQuery> sql_queries = {
|
||
|
{"Q1", "SELECT * FROM test;"},
|
||
|
{"Q2", "SELECT a, b AS address FROM (SELECT * FROM test WHERE c < 100 AND b > 3) t1 WHERE a < 10 AND b < 100;"},
|
||
|
{"Q3", "SELECT \"left\".a, \"left\".b, \"right\".a, \"right\".b FROM table_a AS \"left\" JOIN table_b AS \"right\" ON \"left\".a = \"right\".a;"},
|
||
|
{"Q4", ""
|
||
|
"SELECT"
|
||
|
" l_orderkey,"
|
||
|
" SUM(l_extendedprice * (1 - l_discount)) AS revenue,"
|
||
|
" o_orderdate,"
|
||
|
" o_shippriority"
|
||
|
" FROM"
|
||
|
" customer,"
|
||
|
" orders,"
|
||
|
" lineitem"
|
||
|
" WHERE"
|
||
|
" c_mktsegment = '%s'"
|
||
|
" and c_custkey = o_custkey"
|
||
|
" and l_orderkey = o_orderkey"
|
||
|
" and o_orderdate < '%s'"
|
||
|
" and l_shipdate > '%s'"
|
||
|
" GROUP BY"
|
||
|
" l_orderkey,"
|
||
|
" o_orderdate,"
|
||
|
" o_shippriority"
|
||
|
" ORDER BY"
|
||
|
" revenue DESC,"
|
||
|
" o_orderdate;"
|
||
|
},
|
||
|
|
||
|
{"LongSelectList26", "SELECT a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z FROM test;"},
|
||
|
{"LongSelectElement26", "SELECT abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxy FROM test;"},
|
||
|
{"LongSelectList52", "SELECT a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z FROM test;"},
|
||
|
{"LongSelectElement52", "SELECT abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxy FROM test;"},
|
||
|
{"TwoSelects", "SELECT * FROM test; SELECT age, street AS address FROM data;"},
|
||
|
{"ExecuteNoParams", "EXECUTE procedure;"},
|
||
|
{"Execute2Params", "EXECUTE procedure(11, 'test');"},
|
||
|
{"Execute10Params", "EXECUTE procedure(11, 'test', 5.6, 4.2, 'abc', 6, 7, 8, 9, 10000);"},
|
||
|
// {"name", "query"},
|
||
|
};
|
||
|
|
||
|
std::string getQueryName(unsigned i);
|
||
|
|
||
|
std::vector<SQLQuery> getQueriesFromDirectory(const std::string& dir_path);
|
||
|
|
||
|
std::vector<SQLQuery> getTPCHQueries();
|
||
|
|
||
|
#endif
|