sql-testing-tools 0.2.13__tar.gz → 0.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sql_testing_tools
3
- Version: 0.2.13
3
+ Version: 0.3.1
4
4
  Description-Content-Type: text/markdown
5
5
  License-File: LICENSE
6
6
  Requires-Dist: sqlparse>=0.5.1
@@ -74,6 +74,18 @@ Currently supported to use with DB name are:
74
74
  16. `dbiu.videospiele_einfach`: https://www.dbiu.de/videospiele
75
75
  17. `dbiu.videospiele`: https://www.dbiu.de/videospiele2
76
76
  18. `dbiu.wetterdaten`: https://www.dbiu.de/wetterdaten
77
+ 19. `dbiu.terra`: https://terra.sachsen.schule/
78
+ 20. `dbiu.chinook`: https://github.com/lerocha/chinook-database (Luis Rocha, v1.4.5)
79
+ 21. `dbiu.bike`: https://bike.oth-regensburg.de/downloadbereich-fuer-die-6-auflage.html (Edwin Schicker, "Datenbanken und SQL"; MySQL script `bikemysql-01.sql` from that page, converted to SQLite)
80
+ 22. `dbiu.schule`: https://www.learn-sql.de/doku.php?id=sqlide:datenbanken:schudatenbank:start (Martin Pabst; SQLite download on that page, rebuilt without non-standard `isDate()` checks)
81
+ 23. `dbiu.pokemon`: https://github.com/brianr852/Pokemon-Database (dump `Dump20160519-1.sql`, found via https://www.learn-sql.de/doku.php?id=sqlide:datenbanken:start; converted to SQLite, views dropped)
82
+ 24. `dbiu.netflix`: https://github.com/lerocha/netflixdb (Luis Rocha; Spring Batch tables and empty `episode` table removed)
83
+ 25. `dbiu.geodaten`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page, Geodaten25)
84
+ 26. `dbiu.olympia`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
85
+ 27. `dbiu.passwoerter`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page, Passwoerter1 + Passwoerter2 as two tables)
86
+ 28. `dbiu.artikel`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
87
+ 29. `dbiu.bundesland`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
88
+ 30. `dbiu.sportverein`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
77
89
 
78
90
  **Option 2:** Use your own SQLite database with relative path starting at the working dir of your test repository.
79
91
  ``` python
@@ -133,7 +145,41 @@ res = checkEquality()
133
145
 
134
146
 
135
147
 
136
- ### Changelog
148
+ ## Changelog
149
+
150
+ ### Version 0.3.1
151
+ - added databases 20-30 (`dbiu.chinook`, `dbiu.bike`, `dbiu.schule`, `dbiu.pokemon`, `dbiu.netflix`, `dbiu.geodaten`, `dbiu.olympia`, `dbiu.passwoerter`, `dbiu.artikel`, `dbiu.bundesland`, `dbiu.sportverein`)
152
+
153
+ ### Version 0.3 (since 0.2)
154
+ #### SQL Features
155
+ - Support `LIMIT` clause
156
+ - Support `LIKE` operator
157
+ - Support `<=` and `>=` (leq and geq)
158
+ - Support `ASC`/`DESC` in `ORDER BY` (also with multiple columns and order directions), no direction treated as `ASC`
159
+ - Support `NOT`
160
+ - Accept `COUNT(colname)` in addition to `COUNT(*)`
161
+ - Normalize string inequality: `<>`, `!=`, `NOT LIKE` → `NOT...LIKE...`
162
+ - Ignore case in `=` string comparison and therefore `convert` to LIKE (if no `%`, `_` in string)
163
+
164
+ #### Test Features
165
+ - Added support for [dbiu.de](https://www.datenbanken-im-unterricht.de/catalog.php) databases 1-18 (loaded via [dbiu_databases](https://github.com/ValentinHerrmann/dbiu_databases)) with option to still load DBs from local repo
166
+ - Added more check methods for single parts of queries: `checkColumns`, `checkTables`, `checkCondition`, `checkOrder`, `checkGroup`, `checkKeywords`
167
+ - Improved documentation
168
+ - Verified that `;`, whitespaces (at the ende of the query), and linebreaks are ignored
169
+
170
+ #### Bug Fixes
171
+ - Fixed bug when having only one column selected
172
+ - Fixed handling of nested conditions with parantheses
173
+ - Fixed memory problem with huge cross products (used to lead to build failed)
174
+ - Fixed bug that forced irrelevant equality order if both sides aren't literals
175
+ - Fixed part checks if keywords are in wrong order
176
+ - Fixed bug in checkKeywords: if keyword was present in one query and not in the other, the comparison was not performed correctly
177
+
178
+ #### Other
179
+ - added dbiu.terra database support
180
+
181
+ <details>
182
+ <summary>Detailed Changelogs of Versions 0.2.x</summary>
137
183
 
138
184
  ##### V 0.2.13
139
185
  - Acccept `COUNT(colname)`, too (instead of just `COUNT(*)`)
@@ -180,9 +226,35 @@ res = checkEquality()
180
226
  ##### V 0.2.1
181
227
  - Support LIMIT
182
228
 
229
+
230
+ </details>
231
+
232
+ ---
233
+
234
+ ### Version 0.2
235
+ #### SQL Features
236
+ - Support SELECT: columns with our without table prefix
237
+ - Support FROM: one or more table from DB; no queries as tables!
238
+ - Support WHERE: single conditions; no Paranthesises!
239
+ - Support GROUP BY one or more columns
240
+ - Support Support ORDER BY
241
+ - Support chained conditions (with AND,OR and Paranthesises) in WHERE statement
242
+ - Support aggregate functions
243
+
244
+
245
+ #### Bug Fixes
246
+ - Fixed import error to ensure imports working in different environments
247
+ - Fixed linebreak problems: Linebreaks are now converted into whitespaces before parsing where tokens
248
+
249
+
250
+
251
+
252
+
253
+ <details>
254
+ <summary>Detailed Changelogs of Versions 0.1.x</summary>
255
+
183
256
  ##### V 0.1.9 + 0.2.0
184
257
  - Support ORDER BY
185
-
186
258
  ##### V 0.1.8
187
259
  - Fixed linebreak problems: Linebreaks are now converted into whitespaces before parsing where tokens
188
260
 
@@ -199,3 +271,4 @@ res = checkEquality()
199
271
  - WHERE: single conditions; no Paranthesises!
200
272
  - GROUP BY one or more columns
201
273
 
274
+ </details>
@@ -62,6 +62,18 @@ Currently supported to use with DB name are:
62
62
  16. `dbiu.videospiele_einfach`: https://www.dbiu.de/videospiele
63
63
  17. `dbiu.videospiele`: https://www.dbiu.de/videospiele2
64
64
  18. `dbiu.wetterdaten`: https://www.dbiu.de/wetterdaten
65
+ 19. `dbiu.terra`: https://terra.sachsen.schule/
66
+ 20. `dbiu.chinook`: https://github.com/lerocha/chinook-database (Luis Rocha, v1.4.5)
67
+ 21. `dbiu.bike`: https://bike.oth-regensburg.de/downloadbereich-fuer-die-6-auflage.html (Edwin Schicker, "Datenbanken und SQL"; MySQL script `bikemysql-01.sql` from that page, converted to SQLite)
68
+ 22. `dbiu.schule`: https://www.learn-sql.de/doku.php?id=sqlide:datenbanken:schudatenbank:start (Martin Pabst; SQLite download on that page, rebuilt without non-standard `isDate()` checks)
69
+ 23. `dbiu.pokemon`: https://github.com/brianr852/Pokemon-Database (dump `Dump20160519-1.sql`, found via https://www.learn-sql.de/doku.php?id=sqlide:datenbanken:start; converted to SQLite, views dropped)
70
+ 24. `dbiu.netflix`: https://github.com/lerocha/netflixdb (Luis Rocha; Spring Batch tables and empty `episode` table removed)
71
+ 25. `dbiu.geodaten`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page, Geodaten25)
72
+ 26. `dbiu.olympia`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
73
+ 27. `dbiu.passwoerter`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page, Passwoerter1 + Passwoerter2 as two tables)
74
+ 28. `dbiu.artikel`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
75
+ 29. `dbiu.bundesland`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
76
+ 30. `dbiu.sportverein`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
65
77
 
66
78
  **Option 2:** Use your own SQLite database with relative path starting at the working dir of your test repository.
67
79
  ``` python
@@ -121,7 +133,41 @@ res = checkEquality()
121
133
 
122
134
 
123
135
 
124
- ### Changelog
136
+ ## Changelog
137
+
138
+ ### Version 0.3.1
139
+ - added databases 20-30 (`dbiu.chinook`, `dbiu.bike`, `dbiu.schule`, `dbiu.pokemon`, `dbiu.netflix`, `dbiu.geodaten`, `dbiu.olympia`, `dbiu.passwoerter`, `dbiu.artikel`, `dbiu.bundesland`, `dbiu.sportverein`)
140
+
141
+ ### Version 0.3 (since 0.2)
142
+ #### SQL Features
143
+ - Support `LIMIT` clause
144
+ - Support `LIKE` operator
145
+ - Support `<=` and `>=` (leq and geq)
146
+ - Support `ASC`/`DESC` in `ORDER BY` (also with multiple columns and order directions), no direction treated as `ASC`
147
+ - Support `NOT`
148
+ - Accept `COUNT(colname)` in addition to `COUNT(*)`
149
+ - Normalize string inequality: `<>`, `!=`, `NOT LIKE` → `NOT...LIKE...`
150
+ - Ignore case in `=` string comparison and therefore `convert` to LIKE (if no `%`, `_` in string)
151
+
152
+ #### Test Features
153
+ - Added support for [dbiu.de](https://www.datenbanken-im-unterricht.de/catalog.php) databases 1-18 (loaded via [dbiu_databases](https://github.com/ValentinHerrmann/dbiu_databases)) with option to still load DBs from local repo
154
+ - Added more check methods for single parts of queries: `checkColumns`, `checkTables`, `checkCondition`, `checkOrder`, `checkGroup`, `checkKeywords`
155
+ - Improved documentation
156
+ - Verified that `;`, whitespaces (at the ende of the query), and linebreaks are ignored
157
+
158
+ #### Bug Fixes
159
+ - Fixed bug when having only one column selected
160
+ - Fixed handling of nested conditions with parantheses
161
+ - Fixed memory problem with huge cross products (used to lead to build failed)
162
+ - Fixed bug that forced irrelevant equality order if both sides aren't literals
163
+ - Fixed part checks if keywords are in wrong order
164
+ - Fixed bug in checkKeywords: if keyword was present in one query and not in the other, the comparison was not performed correctly
165
+
166
+ #### Other
167
+ - added dbiu.terra database support
168
+
169
+ <details>
170
+ <summary>Detailed Changelogs of Versions 0.2.x</summary>
125
171
 
126
172
  ##### V 0.2.13
127
173
  - Acccept `COUNT(colname)`, too (instead of just `COUNT(*)`)
@@ -168,9 +214,35 @@ res = checkEquality()
168
214
  ##### V 0.2.1
169
215
  - Support LIMIT
170
216
 
217
+
218
+ </details>
219
+
220
+ ---
221
+
222
+ ### Version 0.2
223
+ #### SQL Features
224
+ - Support SELECT: columns with our without table prefix
225
+ - Support FROM: one or more table from DB; no queries as tables!
226
+ - Support WHERE: single conditions; no Paranthesises!
227
+ - Support GROUP BY one or more columns
228
+ - Support Support ORDER BY
229
+ - Support chained conditions (with AND,OR and Paranthesises) in WHERE statement
230
+ - Support aggregate functions
231
+
232
+
233
+ #### Bug Fixes
234
+ - Fixed import error to ensure imports working in different environments
235
+ - Fixed linebreak problems: Linebreaks are now converted into whitespaces before parsing where tokens
236
+
237
+
238
+
239
+
240
+
241
+ <details>
242
+ <summary>Detailed Changelogs of Versions 0.1.x</summary>
243
+
171
244
  ##### V 0.1.9 + 0.2.0
172
245
  - Support ORDER BY
173
-
174
246
  ##### V 0.1.8
175
247
  - Fixed linebreak problems: Linebreaks are now converted into whitespaces before parsing where tokens
176
248
 
@@ -187,3 +259,4 @@ res = checkEquality()
187
259
  - WHERE: single conditions; no Paranthesises!
188
260
  - GROUP BY one or more columns
189
261
 
262
+ </details>
@@ -6,7 +6,7 @@ with open("README.md", "r") as fh:
6
6
 
7
7
  setup(
8
8
  name='sql_testing_tools',
9
- version='0.2.13',
9
+ version='0.3.1',
10
10
  packages=find_packages(),
11
11
  install_requires=[
12
12
  'sqlparse>=0.5.1',
@@ -22,7 +22,19 @@ dbMap = {
22
22
  "dbiu.unfallstatistik": 15,
23
23
  "dbiu.videospiele_einfach": 16,
24
24
  "dbiu.videospiele": 17,
25
- "dbiu.wetterdaten": 18
25
+ "dbiu.wetterdaten": 18,
26
+ "dbiu.terra": 19,
27
+ "dbiu.chinook": 20,
28
+ "dbiu.bike": 21,
29
+ "dbiu.schule": 22,
30
+ "dbiu.pokemon": 23,
31
+ "dbiu.netflix": 24,
32
+ "dbiu.geodaten": 25,
33
+ "dbiu.olympia": 26,
34
+ "dbiu.passwoerter": 27,
35
+ "dbiu.artikel": 28,
36
+ "dbiu.bundesland": 29,
37
+ "dbiu.sportverein": 30
26
38
  }
27
39
 
28
40
  __db=""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sql_testing_tools
3
- Version: 0.2.13
3
+ Version: 0.3.1
4
4
  Description-Content-Type: text/markdown
5
5
  License-File: LICENSE
6
6
  Requires-Dist: sqlparse>=0.5.1
@@ -74,6 +74,18 @@ Currently supported to use with DB name are:
74
74
  16. `dbiu.videospiele_einfach`: https://www.dbiu.de/videospiele
75
75
  17. `dbiu.videospiele`: https://www.dbiu.de/videospiele2
76
76
  18. `dbiu.wetterdaten`: https://www.dbiu.de/wetterdaten
77
+ 19. `dbiu.terra`: https://terra.sachsen.schule/
78
+ 20. `dbiu.chinook`: https://github.com/lerocha/chinook-database (Luis Rocha, v1.4.5)
79
+ 21. `dbiu.bike`: https://bike.oth-regensburg.de/downloadbereich-fuer-die-6-auflage.html (Edwin Schicker, "Datenbanken und SQL"; MySQL script `bikemysql-01.sql` from that page, converted to SQLite)
80
+ 22. `dbiu.schule`: https://www.learn-sql.de/doku.php?id=sqlide:datenbanken:schudatenbank:start (Martin Pabst; SQLite download on that page, rebuilt without non-standard `isDate()` checks)
81
+ 23. `dbiu.pokemon`: https://github.com/brianr852/Pokemon-Database (dump `Dump20160519-1.sql`, found via https://www.learn-sql.de/doku.php?id=sqlide:datenbanken:start; converted to SQLite, views dropped)
82
+ 24. `dbiu.netflix`: https://github.com/lerocha/netflixdb (Luis Rocha; Spring Batch tables and empty `episode` table removed)
83
+ 25. `dbiu.geodaten`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page, Geodaten25)
84
+ 26. `dbiu.olympia`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
85
+ 27. `dbiu.passwoerter`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page, Passwoerter1 + Passwoerter2 as two tables)
86
+ 28. `dbiu.artikel`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
87
+ 29. `dbiu.bundesland`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
88
+ 30. `dbiu.sportverein`: https://informatikschulbuch.de/jahrgangsstufe-9-uebersicht/datenmodellierung-und-datenbanken/#vorlagen (`WeitereDatenbanken_SQLLite.zip` on that page)
77
89
 
78
90
  **Option 2:** Use your own SQLite database with relative path starting at the working dir of your test repository.
79
91
  ``` python
@@ -133,7 +145,41 @@ res = checkEquality()
133
145
 
134
146
 
135
147
 
136
- ### Changelog
148
+ ## Changelog
149
+
150
+ ### Version 0.3.1
151
+ - added databases 20-30 (`dbiu.chinook`, `dbiu.bike`, `dbiu.schule`, `dbiu.pokemon`, `dbiu.netflix`, `dbiu.geodaten`, `dbiu.olympia`, `dbiu.passwoerter`, `dbiu.artikel`, `dbiu.bundesland`, `dbiu.sportverein`)
152
+
153
+ ### Version 0.3 (since 0.2)
154
+ #### SQL Features
155
+ - Support `LIMIT` clause
156
+ - Support `LIKE` operator
157
+ - Support `<=` and `>=` (leq and geq)
158
+ - Support `ASC`/`DESC` in `ORDER BY` (also with multiple columns and order directions), no direction treated as `ASC`
159
+ - Support `NOT`
160
+ - Accept `COUNT(colname)` in addition to `COUNT(*)`
161
+ - Normalize string inequality: `<>`, `!=`, `NOT LIKE` → `NOT...LIKE...`
162
+ - Ignore case in `=` string comparison and therefore `convert` to LIKE (if no `%`, `_` in string)
163
+
164
+ #### Test Features
165
+ - Added support for [dbiu.de](https://www.datenbanken-im-unterricht.de/catalog.php) databases 1-18 (loaded via [dbiu_databases](https://github.com/ValentinHerrmann/dbiu_databases)) with option to still load DBs from local repo
166
+ - Added more check methods for single parts of queries: `checkColumns`, `checkTables`, `checkCondition`, `checkOrder`, `checkGroup`, `checkKeywords`
167
+ - Improved documentation
168
+ - Verified that `;`, whitespaces (at the ende of the query), and linebreaks are ignored
169
+
170
+ #### Bug Fixes
171
+ - Fixed bug when having only one column selected
172
+ - Fixed handling of nested conditions with parantheses
173
+ - Fixed memory problem with huge cross products (used to lead to build failed)
174
+ - Fixed bug that forced irrelevant equality order if both sides aren't literals
175
+ - Fixed part checks if keywords are in wrong order
176
+ - Fixed bug in checkKeywords: if keyword was present in one query and not in the other, the comparison was not performed correctly
177
+
178
+ #### Other
179
+ - added dbiu.terra database support
180
+
181
+ <details>
182
+ <summary>Detailed Changelogs of Versions 0.2.x</summary>
137
183
 
138
184
  ##### V 0.2.13
139
185
  - Acccept `COUNT(colname)`, too (instead of just `COUNT(*)`)
@@ -180,9 +226,35 @@ res = checkEquality()
180
226
  ##### V 0.2.1
181
227
  - Support LIMIT
182
228
 
229
+
230
+ </details>
231
+
232
+ ---
233
+
234
+ ### Version 0.2
235
+ #### SQL Features
236
+ - Support SELECT: columns with our without table prefix
237
+ - Support FROM: one or more table from DB; no queries as tables!
238
+ - Support WHERE: single conditions; no Paranthesises!
239
+ - Support GROUP BY one or more columns
240
+ - Support Support ORDER BY
241
+ - Support chained conditions (with AND,OR and Paranthesises) in WHERE statement
242
+ - Support aggregate functions
243
+
244
+
245
+ #### Bug Fixes
246
+ - Fixed import error to ensure imports working in different environments
247
+ - Fixed linebreak problems: Linebreaks are now converted into whitespaces before parsing where tokens
248
+
249
+
250
+
251
+
252
+
253
+ <details>
254
+ <summary>Detailed Changelogs of Versions 0.1.x</summary>
255
+
183
256
  ##### V 0.1.9 + 0.2.0
184
257
  - Support ORDER BY
185
-
186
258
  ##### V 0.1.8
187
259
  - Fixed linebreak problems: Linebreaks are now converted into whitespaces before parsing where tokens
188
260
 
@@ -199,3 +271,4 @@ res = checkEquality()
199
271
  - WHERE: single conditions; no Paranthesises!
200
272
  - GROUP BY one or more columns
201
273
 
274
+ </details>