@@ -27,10 +27,11 @@ def test_parse_study_search_string(self):
27
27
exp_st_sql = ("SELECT study_id FROM qiita.study_sample_columns WHERE "
28
28
"lower(column_name) = lower('altitude') and column_type "
29
29
"in ('integer', 'float8')" )
30
- exp_samp_sql = ("SELECT r.sample_id,sa.altitude FROM "
31
- "qiita.study_sample r JOIN qiita.sample_{0} sa"
32
- " ON sa.sample_id = r.sample_id JOIN qiita.study st ON"
33
- " st.study_id = r.study_id WHERE sa.altitude > 0" )
30
+ exp_samp_sql = ("SELECT ss.sample_id,sa.altitude "
31
+ "FROM qiita.study_sample ss "
32
+ "JOIN qiita.sample_{0} sa USING (sample_id) "
33
+ "JOIN qiita.study st USING (study_id) "
34
+ "WHERE sa.altitude > 0" )
34
35
self .assertEqual (st_sql , exp_st_sql )
35
36
self .assertEqual (samp_sql , exp_samp_sql )
36
37
self .assertEqual (meta , ["altitude" ])
@@ -41,11 +42,11 @@ def test_parse_study_search_string(self):
41
42
exp_st_sql = ("SELECT study_id FROM qiita.study_sample_columns WHERE "
42
43
"lower(column_name) = lower('altitude') and column_type "
43
44
"in ('integer', 'float8')" )
44
- exp_samp_sql = ("SELECT r .sample_id,sa.altitude FROM "
45
- "qiita.study_sample r JOIN qiita.sample_{0} sa "
46
- " ON sa.sample_id = r. sample_id JOIN qiita.study st ON "
47
- " st.study_id = r.study_id WHERE NOT "
48
- "sa.altitude > 0" )
45
+ exp_samp_sql = ("SELECT ss .sample_id,sa.altitude "
46
+ "FROM qiita.study_sample ss "
47
+ "JOIN qiita.sample_{0} sa USING ( sample_id) "
48
+ "JOIN qiita.study st USING (study_id) "
49
+ "WHERE NOT sa.altitude > 0" )
49
50
self .assertEqual (st_sql , exp_st_sql )
50
51
self .assertEqual (samp_sql , exp_samp_sql )
51
52
self .assertEqual (meta , ["altitude" ])
@@ -56,11 +57,11 @@ def test_parse_study_search_string(self):
56
57
exp_st_sql = ("SELECT study_id FROM qiita.study_sample_columns WHERE "
57
58
"lower(column_name) = lower('ph') and column_type in "
58
59
"('integer', 'float8')" )
59
- exp_samp_sql = ("SELECT r .sample_id,sa.ph FROM "
60
- "qiita.study_sample r JOIN qiita.sample_{0} sa "
61
- " ON sa.sample_id = r. sample_id JOIN qiita.study st ON "
62
- " st.study_id = r.study_id WHERE (sa.ph > 7 AND "
63
- "sa.ph < 9)" )
60
+ exp_samp_sql = ("SELECT ss .sample_id,sa.ph "
61
+ "FROM qiita.study_sample ss "
62
+ "JOIN qiita.sample_{0} sa USING ( sample_id) "
63
+ "JOIN qiita.study st USING (study_id) "
64
+ "WHERE (sa.ph > 7 AND sa.ph < 9)" )
64
65
self .assertEqual (st_sql , exp_st_sql )
65
66
self .assertEqual (samp_sql , exp_samp_sql )
66
67
self .assertEqual (meta , ["ph" ])
@@ -71,11 +72,11 @@ def test_parse_study_search_string(self):
71
72
exp_st_sql = ("SELECT study_id FROM qiita.study_sample_columns WHERE "
72
73
"lower(column_name) = lower('ph') and column_type in "
73
74
"('integer', 'float8')" )
74
- exp_samp_sql = ("SELECT r .sample_id,sa.ph FROM "
75
- "qiita.study_sample r JOIN qiita.sample_{0} sa "
76
- " ON sa.sample_id = r. sample_id JOIN qiita.study st ON "
77
- " st.study_id = r.study_id WHERE (sa.ph > 7 OR "
78
- "sa.ph < 9)" )
75
+ exp_samp_sql = ("SELECT ss .sample_id,sa.ph "
76
+ "FROM qiita.study_sample ss "
77
+ "JOIN qiita.sample_{0} sa USING ( sample_id) "
78
+ "JOIN qiita.study st USING (study_id) "
79
+ "WHERE (sa.ph > 7 OR sa.ph < 9)" )
79
80
self .assertEqual (st_sql , exp_st_sql )
80
81
self .assertEqual (samp_sql , exp_samp_sql )
81
82
self .assertEqual (meta , ["ph" ])
@@ -87,11 +88,12 @@ def test_parse_study_search_string(self):
87
88
exp_st_sql = ("SELECT study_id FROM qiita.study_sample_columns "
88
89
"WHERE lower(column_name) = lower('host_subject_id') "
89
90
"and column_type in ('varchar')" )
90
- exp_samp_sql = ("SELECT r.sample_id,sa.host_subject_id FROM "
91
- "qiita.study_sample r JOIN qiita.sample_{0} sa"
92
- " ON sa.sample_id = r.sample_id JOIN qiita.study st ON"
93
- " st.study_id = r.study_id WHERE "
94
- "LOWER(sa.host_subject_id) LIKE '%chicken little%'" )
91
+ exp_samp_sql = ("SELECT ss.sample_id,sa.host_subject_id "
92
+ "FROM qiita.study_sample ss "
93
+ "JOIN qiita.sample_{0} sa USING (sample_id) "
94
+ "JOIN qiita.study st USING (study_id) "
95
+ "WHERE LOWER(sa.host_subject_id) "
96
+ "LIKE '%chicken little%'" )
95
97
self .assertEqual (st_sql , exp_st_sql )
96
98
self .assertEqual (samp_sql , exp_samp_sql )
97
99
self .assertEqual (meta , ["host_subject_id" ])
@@ -106,11 +108,12 @@ def test_parse_study_search_string(self):
106
108
"lower(column_name) = lower('name') and column_type in "
107
109
"('varchar')" )
108
110
exp_samp_sql = (
109
- "SELECT r.sample_id,sa.name FROM qiita.study_sample r JOIN"
110
- " qiita.sample_{0} sa ON sa.sample_id = r.sample_id JOIN "
111
- "qiita.study st ON st.study_id = r.study_id WHERE (sa.name = "
112
- "'Billy Bob' OR sa.name = 'Timmy' OR (sa.name = 'Jimbo' AND "
113
- "sa.name > 25) OR sa.name < 5)" )
111
+ "SELECT ss.sample_id,sa.name "
112
+ "FROM qiita.study_sample ss "
113
+ "JOIN qiita.sample_{0} sa USING (sample_id) "
114
+ "JOIN qiita.study st USING (study_id) "
115
+ "WHERE (sa.name = 'Billy Bob' OR sa.name = 'Timmy' OR "
116
+ "(sa.name = 'Jimbo' AND sa.name > 25) OR sa.name < 5)" )
114
117
self .assertEqual (st_sql , exp_st_sql )
115
118
self .assertEqual (samp_sql , exp_samp_sql )
116
119
self .assertEqual (meta , ['name' ])
@@ -126,11 +129,11 @@ def test_parse_study_search_string(self):
126
129
"('integer', 'float8')" , "SELECT study_id FROM "
127
130
"qiita.study_sample_columns WHERE lower(column_name) = "
128
131
"lower('ph') and column_type in ('integer', 'float8')" ]
129
- exp_samp_sql = ("SELECT r .sample_id,sa.pH,sa.ph FROM "
130
- "qiita.study_sample r JOIN qiita.sample_{0} sa "
131
- " ON sa.sample_id = r. sample_id JOIN qiita.study st ON "
132
- " st.study_id = r.study_id WHERE (sa.ph > 7 OR "
133
- "sa.ph < 9)" )
132
+ exp_samp_sql = ("SELECT ss .sample_id,sa.pH,sa.ph "
133
+ "FROM qiita.study_sample ss "
134
+ "JOIN qiita.sample_{0} sa USING ( sample_id) "
135
+ "JOIN qiita.study st USING (study_id) "
136
+ "WHERE (sa.ph > 7 OR sa.ph < 9)" )
134
137
# use the split list to make sure the SQL is properly formed
135
138
self .assertEqual (len (st_sql ), 2 )
136
139
pos = exp_st_sql .index (st_sql [0 ])
0 commit comments