sql-testing-tools 0.2.13__py3-none-any.whl → 0.3.1__py3-none-any.whl

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.
@@ -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>
@@ -0,0 +1,9 @@
1
+ sql_testing_tools/BaseAccess.py,sha256=awOFuyvHFkHcn_1t1op0SG4I7IDHBkuDHEOlONtneHk,6659
2
+ sql_testing_tools/Helper.py,sha256=1vxw6e04MK7HqnaPONCH2h0rZqDhgfNFI5z6hJ1pKfU,8998
3
+ sql_testing_tools/TokenProcessing.py,sha256=BzD_mdVT_FPOJQc2KF9pEHp-s3tQ3NUusXTdSDFCW-U,14149
4
+ sql_testing_tools/__init__.py,sha256=eihMp9aizQd5Lnegu0y57WcyCinmy4Jvp66e0fiMPU4,49
5
+ sql_testing_tools-0.3.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
6
+ sql_testing_tools-0.3.1.dist-info/METADATA,sha256=ntbQWrNASHkrIJLFoFqYbwPC7YHKsEM9FmzFAQWzB1Q,12153
7
+ sql_testing_tools-0.3.1.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
8
+ sql_testing_tools-0.3.1.dist-info/top_level.txt,sha256=qwEkmfJ_lYhIwcLXgfU75m0_JavVbOg96fN2zSatN3E,18
9
+ sql_testing_tools-0.3.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (84.2.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,9 +0,0 @@
1
- sql_testing_tools/BaseAccess.py,sha256=GyRdmiooeeX7FknojGn8nA5oliQ2CoViZYdKHxGv7-8,6365
2
- sql_testing_tools/Helper.py,sha256=1vxw6e04MK7HqnaPONCH2h0rZqDhgfNFI5z6hJ1pKfU,8998
3
- sql_testing_tools/TokenProcessing.py,sha256=BzD_mdVT_FPOJQc2KF9pEHp-s3tQ3NUusXTdSDFCW-U,14149
4
- sql_testing_tools/__init__.py,sha256=eihMp9aizQd5Lnegu0y57WcyCinmy4Jvp66e0fiMPU4,49
5
- sql_testing_tools-0.2.13.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
6
- sql_testing_tools-0.2.13.dist-info/METADATA,sha256=8e5Eubi2zK0eyOy-l8a2hQuAvP7nAwDH8JQiDiXsEL0,7730
7
- sql_testing_tools-0.2.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
8
- sql_testing_tools-0.2.13.dist-info/top_level.txt,sha256=qwEkmfJ_lYhIwcLXgfU75m0_JavVbOg96fN2zSatN3E,18
9
- sql_testing_tools-0.2.13.dist-info/RECORD,,