J. King
49cefaf5c8
Complete API documentation for the Database class
2019-02-04 13:05:48 -05:00
J. King
d3a385beef
Partial API documentation for the Database class
2019-02-03 12:25:07 -05:00
J. King
b1282b6f6a
Upgrade to PHP 7.1 and PHPUnit 7.
2019-01-25 22:07:37 -05:00
J. King
500851f161
Style fixes
2019-01-23 16:34:54 -05:00
J. King
91b6fdc696
Update changelog; bump version
2019-01-23 16:32:48 -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
bc8d443d84
Change PicoFeed dependency to a maintained variant
2019-01-23 12:36:43 -05:00
J. King
970731073d
Fetch timeout should be a float, not an integer
2019-01-23 09:37:41 -05:00
J. King
9120d3b3e3
Correctly escape shell command in subprocesds service driver
2019-01-23 09:32:44 -05:00
J. King
a5049ac646
Remove reference to PicoFeed in the User-Agent string
...
PicoFeed is dead, so there's no point.
2019-01-23 09:21:35 -05:00
J. King
37131d3775
Remove non-functional curl service driver for now
...
Its requiring extensive configuration to function makes me disinclined
to revive it, though it may nevertheless happen.
2019-01-23 09:19:26 -05:00
J. King
05aadfe7c7
Use correct SQLite chema change procedure; version bump
2019-01-21 10:40:39 -05:00
J. King
37025bb49f
Documentation update
2019-01-21 10:23:25 -05:00
J. King
5335d331f7
Fix configuration exporting
2019-01-21 09:55:25 -05:00
J. King
5cd84c4ab4
Validate configuration parameters on import, and other changes
...
- Each parameter is checked for type and normalized
- Interval strings are converted to DateInterval objects
- Timeouts can be specified as interval strings
- Most intervals can be null to signify infinity
- Driver classes are checked that they implement the correct interface
- Short driver names may be used, and are used by default
- Helpful errors messages are printed in case of erroneous configuration
Exporting is currently broken; this will be fixed in an upcoming commit
2019-01-20 22:40:49 -05:00
J. King
b0643de21c
Add handling of DateInterval objects to ValueInfo
2019-01-17 16:29:42 -05:00
J. King
4670dfc849
Handle connection errors
2019-01-15 10:51:55 -05:00
J. King
e92bda5373
Various changes:
...
- Fix handling of binary data and long strings
- Simplify handling of socket connections
- Fix coverage
2019-01-15 08:58:11 -05:00
J. King
6ad3fb78a0
Documentation update
2019-01-14 10:46:46 -05:00
J. King
f3b0c791f8
Fix remaining tests
2019-01-14 09:51:00 -05:00
J. King
5d61ab0a57
Fixes for MySQL native interface
...
Three test failures remain, but these are minor and will be resolved
soon. Handling of binary data is also broken, but given that this works
fine with the PDO driver, there is presumably some correct method.
2019-01-13 23:17:19 -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
c4a41255b0
Experimental native MySQL driver
...
No testing has been performed yet, but changes are extensive enough to
warrant a commit. Of particular note:
- SQL states are enumerated in a separate trait to reduce duplication
- PDOStatement is now an abstract class to avoid duplication of
engine-specific error handling
- Error handling has been cleaned up somewhat
2019-01-10 19:01:32 -05:00
J. King
3da773eef6
Grammar tweak
2018-12-22 09:58:56 -05:00
J. King
cefc9e5b4d
Don't use Canada mirror in links to PHP manual
2018-12-21 18:02:03 -05:00
J. King
7191dd5778
Documentation update
2018-12-21 18:00:35 -05:00
J. King
206cca35a9
Test tweaks
2018-12-21 17:51:49 -05:00
J. King
5a133b795a
Correctly munge MySQL queries
2018-12-21 17:37:22 -05:00
J. King
b4de56a64e
Work around MySQL silliness with same-table foreign keys
2018-12-21 17:02:34 -05:00
J. King
f0d30c2eee
Make munging of queries a generic feature
2018-12-21 12:35:10 -05:00
J. King
24df564045
Mostly successful MySQL database function tests
...
Two failures remain, at least one requiring query munging.
2018-12-21 10:14:26 -05:00
J. King
de07352fd0
Syntactic adjustments for MySQL
...
- "key", "read", and "rename" are reserved words
- CTEs in INSERTs must precede SELECT
- Empty sets are represented only by explicit null
2018-12-20 21:23:06 -05:00
J. King
393b4e95ad
Adjustments for MySQL 8
...
The prototype had been tested against MariaDB
2018-12-20 20:50:56 -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
316ba941a2
Hopefully complete MySQL schema
2018-12-15 11:09:46 -05:00
J. King
86c16d3cb3
Merge branch 'master' into mysql
2018-12-15 09:22:47 -05:00
J. King
8d9d249b88
Merge branch 'pg'
2018-12-14 09:28:19 -05:00
J. King
50f92625ef
Use PosgreSQL's existing general Unicode collation
...
All collations appear to be case-insensitive
2018-12-14 09:18:56 -05:00
J. King
17052d3232
Update PostgreSQL-related documentation
2018-12-13 20:08:35 -05:00
J. King
29e7c1f154
Fix coverage
2018-12-13 19:56:07 -05:00
J. King
2bebdd44cf
Implementation of native PostgreSQL interface
...
Changes to the Database class were required to avoid outputting booleans
2018-12-13 19:47:51 -05:00
J. King
b52dadf345
Make existing PostgreSQL tests explicitly PDO tests
2018-12-12 12:42:40 -05:00
J. King
161f5f08f6
Proactively support SQLite 3.25
2018-12-12 12:21:28 -05:00
J. King
28f803dd28
Handle PostgreSQL connection errors
2018-12-12 11:15:07 -05:00
J. King
0f48ce6f37
Use a Unicode collation for SQLite
2018-12-11 14:14:32 -05:00
J. King
a8e6487001
Draft documentation
2018-12-10 19:13:48 -05:00
J. King
73729a6be8
Simplify database cleanup between tests
2018-12-10 13:17:04 -05:00
J. King
8dbf237626
Group PostgreSQL tests as slow
2018-12-10 12:39:09 -05:00
J. King
35d46d2913
Use persistent connections with PostgreSQL
2018-12-10 12:28:43 -05:00