1
1
Fork 0
mirror of https://code.mensbeam.com/MensBeam/Arsse.git synced 2024-12-24 17:42:40 +00:00
Commit graph

25 commits

Author SHA1 Message Date
J. King
461e256052 Work around MySQL syntax weirdness
Also improve test for token translation to actually test that the
translated tokens are accepted by the database system
2021-01-07 10:12:38 -05:00
J. King
bc53a2d24a Style fixes 2020-03-01 15:16:50 -05:00
J. King
b5f118e8cb Cleanup 2020-01-20 13:52:48 -05:00
J. King
bbace7a0ac Use void and nullable return types where practical 2020-01-20 13:34:03 -05:00
J. King
17a2fa96f8 Upgrade to PHPUnit 8 2019-10-16 14:42:43 -04:00
J. King
29667464a1 Remove unnecessary namespace imports 2019-09-05 10:03:32 -04:00
J. King
f7240301e4 Basic database maintenance
Closes #169
2019-07-26 09:37:51 -04:00
J. King
21fdd66d37 Work around limit to SQL parameter placeholders for IN() clauses
Improves #150

LIKE-based matches also need to be similarly conservative
2019-03-01 22:36:25 -05:00
J. King
2df7c25b66 Add ability to search note text 2019-02-23 20:14:52 -05:00
J. King
8ea1df920a Unify SQL timeouts
- Exec and lock timeouts now apply to MySQL
- Lock timeout now applies to PostgreSQL
- SQLite now uses a generic lock timeout setting which applies to all
2019-01-23 16:31:54 -05:00
J. King
e501fbdc87 Remove the DatabaseInformation class in tests and use traits instead 2019-01-12 12:43:06 -05:00
J. King
81acba90dc Use strict equality when comparing strings 2019-01-11 10:38:06 -05:00
J. King
206cca35a9 Test tweaks 2018-12-21 17:51:49 -05:00
J. King
4ef36643a4 Proof-of-concept PDO MySQL driver
- Configuration options were added
- Non-transactional locking was added to the savepoint handlers
- Tests were adjusted for MySQL's reserved words
2018-12-20 18:06:28 -05:00
J. King
73729a6be8 Simplify database cleanup between tests 2018-12-10 13:17:04 -05:00
J. King
089f666de6 Fix PDO insert ID errors in PHP 7.1 2018-12-06 17:46:00 -05:00
J. King
cf896121b2 Style fixes 2018-12-05 17:28:11 -05:00
J. King
8fc31cfc40 Rewrite various queries to work in PostgreSQL
This involved changes to the driver interface as well as the database
schemata. The most significantly altered queries were for article
selection and marking, which relied upon unusual features of SQLite.
Overall query efficiency should not be adversely affected (it may have
even imprved) in the common case, while very rare cases (not presently
triggered by any REST handlers) require more queries.

One notable benefit of these changes is that functions which query
articles can now have complete control over which columns are returned.
This has not, however, been implemented yet: symbolic column groups are
still used for now.

Note that PostgreSQL still fails many tests, but the test suite runs to
completion. Note also that one line of the Database class is not
covered; later changes will eventually make it easier to cover the line
in question.
2018-12-04 20:41:21 -05:00
J. King
8dfedd30ef Test PostgreSQL schema upgrade
This was in fact buggy due to the schema version check causing an error
2018-11-28 10:46:23 -05:00
J. King
1414f8979c Fix savepoint handling and locking in PostgreSQL driver 2018-11-27 17:16:00 -05:00
J. King
8a49202036 Use common cleanup code for all database-related tests 2018-11-27 14:26:33 -05:00
J. King
7340d65c0e Make data clearing in tests static 2018-11-23 10:01:17 -05:00
J. King
8c20411359 Align statement tests with other database driver tests 2018-11-22 23:18:20 -05:00
J. King
f22e53fdc9 Align result tests with driver tests 2018-11-22 19:55:54 -05:00
J. King
aa1b65b5d4 Take a different tack on shared database tests
Tests for different drivers will have their own files, but all derive
from a common prototype test series where applicable, similar to the
existing arrangement for database function tests. However, the prototype
will reside with other test cases rather than in the library path. The
database function test series will hopefully be moved as well in time.
2018-11-22 13:55:57 -05:00