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

408 commits

Author SHA1 Message Date
J. King
3b8461b1ca Add searching to TTRSS handler 2019-02-28 16:22:04 -05:00
J. King
85307bc90a Add parser for TTRSS search strings 2019-02-28 15:31:33 -05:00
J. King
95de375e0b Handle folder and label exclusion
Consequently the way label data are retrieved was completely overhauled
2019-02-27 10:48:11 -05:00
J. King
1e7724ec80 Filter out duplicates in set context options 2019-02-26 12:54:27 -05:00
J. King
677e33e518 Add text search exclusions 2019-02-26 11:39:19 -05:00
J. King
89f25d7b91 Fix coverage a little 2019-02-26 11:12:40 -05:00
J. King
0dc82f64d5 Allow ranges in exclusion contexts 2019-02-26 11:11:42 -05:00
J. King
70443a5264 Make parent re-association on context clone more restrictive 2019-02-25 23:59:48 -05:00
J. King
18d52ea402 Make exclusion contexts return their parent on change 2019-02-25 23:37:14 -05:00
J. King
b950ac066f Restrict options in not-context and hopefully make it easier to use 2019-02-25 22:41:12 -05:00
J. King
14c02d56ac Implement new context options other than not().
Context handling has also been re-organized to simplify later
implementation of the not() option
2019-02-25 16:26:38 -05:00
J. King
f4a74eec5d Add all the other context options allowed by the TTRSS search syntax 2019-02-25 10:46:43 -05:00
J. King
2df7c25b66 Add ability to search note text 2019-02-23 20:14:52 -05:00
J. King
bc3182a961 Basic substring searching 2019-02-22 18:50:39 -05:00
J. King
570a9b171c Revert fulltext detection in driver 2019-02-22 18:49:57 -05:00
J. King
ace94e3ef8 Fix context, and context tests 2019-02-22 12:34:06 -05:00
J. King
f9fde23708 Context changes to support basic text searching 2019-02-22 11:13:42 -05:00
J. King
ad8057a40b Driver changes to support basic text searching 2019-02-22 11:13:13 -05:00
J. King
908e1fa310 API documentation for database driver interface 2019-02-21 15:43:19 -05:00
J. King
17f3a2f059 Start on an API overview for the Database class 2019-02-13 12:37:41 -05:00
J. King
b0d5458367 Clarify some prospective protocols 2019-02-04 13:18:33 -05:00
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
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
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
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
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
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
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
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