J. King
bc3182a961
Basic substring searching
5 years ago
J. King
570a9b171c
Revert fulltext detection in driver
5 years ago
J. King
ace94e3ef8
Fix context, and context tests
5 years ago
J. King
f9fde23708
Context changes to support basic text searching
5 years ago
J. King
ad8057a40b
Driver changes to support basic text searching
5 years ago
J. King
908e1fa310
API documentation for database driver interface
5 years ago
J. King
b55d0b374f
API documentation for database driver interface
5 years ago
J. King
17f3a2f059
Start on an API overview for the Database class
5 years ago
J. King
b0d5458367
Clarify some prospective protocols
5 years ago
J. King
49cefaf5c8
Complete API documentation for the Database class
5 years ago
J. King
d3a385beef
Partial API documentation for the Database class
5 years ago
J. King
b1282b6f6a
Upgrade to PHP 7.1 and PHPUnit 7.
5 years ago
J. King
f5c5d49d97
Document SQL timeout changes
5 years ago
J. King
500851f161
Style fixes
5 years ago
J. King
91b6fdc696
Update changelog; bump version
5 years ago
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
5 years ago
J. King
970731073d
Fetch timeout should be a float, not an integer
5 years ago
J. King
9120d3b3e3
Correctly escape shell command in subprocesds service driver
5 years ago
J. King
a5049ac646
Remove reference to PicoFeed in the User-Agent string
PicoFeed is dead, so there's no point.
5 years ago
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.
5 years ago
J. King
05aadfe7c7
Use correct SQLite chema change procedure; version bump
5 years ago
J. King
5335d331f7
Fix configuration exporting
5 years ago
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
5 years ago
J. King
b0643de21c
Add handling of DateInterval objects to ValueInfo
5 years ago
J. King
4670dfc849
Handle connection errors
5 years ago
J. King
e92bda5373
Various changes:
- Fix handling of binary data and long strings
- Simplify handling of socket connections
- Fix coverage
5 years ago
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.
5 years ago
J. King
81acba90dc
Use strict equality when comparing strings
5 years ago
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
5 years ago
J. King
206cca35a9
Test tweaks
6 years ago
J. King
5a133b795a
Correctly munge MySQL queries
6 years ago
J. King
b4de56a64e
Work around MySQL silliness with same-table foreign keys
6 years ago
J. King
f0d30c2eee
Make munging of queries a generic feature
6 years ago
J. King
24df564045
Mostly successful MySQL database function tests
Two failures remain, at least one requiring query munging.
6 years ago
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
6 years ago
J. King
393b4e95ad
Adjustments for MySQL 8
The prototype had been tested against MariaDB
6 years ago
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
6 years ago
J. King
50f92625ef
Use PosgreSQL's existing general Unicode collation
All collations appear to be case-insensitive
6 years ago
J. King
2bebdd44cf
Implementation of native PostgreSQL interface
Changes to the Database class were required to avoid outputting booleans
6 years ago
J. King
161f5f08f6
Proactively support SQLite 3.25
6 years ago
J. King
28f803dd28
Handle PostgreSQL connection errors
6 years ago
J. King
0f48ce6f37
Use a Unicode collation for SQLite
6 years ago
J. King
35d46d2913
Use persistent connections with PostgreSQL
6 years ago
J. King
f6966659a9
Use smarter coverage executer; properly suppress stderr during CLI tests
6 years ago
J. King
d9629be662
Use smarter coverage executer; properly suppress stderr during CLI tests
6 years ago
J. King
0513b606c2
Merge master
6 years ago
J. King
089f666de6
Fix PDO insert ID errors in PHP 7.1
6 years ago
J. King
cf896121b2
Style fixes
6 years ago
J. King
51755a2ce6
Retire article field groups
6 years ago
J. King
15301cd7dc
Fix cleanup tests in PostgreSQL
6 years ago