1
1
Fork 0
mirror of https://code.mensbeam.com/MensBeam/Arsse.git synced 2024-12-23 08:54:52 +00:00
Commit graph

74 commits

Author SHA1 Message Date
J. King
e861cca53d Integrate schema change necessary for microsub 2020-11-06 11:06:27 -05:00
J. King
8f739cec85 Excluse empty-string URLs from icons table 2020-11-06 10:28:28 -05:00
J. King
af675479b8 Remove excess whitespace 2020-11-04 18:35:36 -05:00
J. King
2438f35f3d Add icon cache to database
Feed updating has not yet been adapted to store
icon data (nor their URLs anymore)
2020-11-04 18:34:22 -05:00
J. King
905f8938e2 Typo 2020-11-01 09:37:59 -05:00
J. King
16d2e01668 New schema for PostgreSQL and MySQL 2020-10-30 19:00:11 -04:00
J. King
4db1b95cf4 Add numeric IDs and other Miniflux data to SQLite schema 2020-10-30 15:25:22 -04:00
J. King
b58a326461 Prepare for schema changes 2020-10-29 11:58:45 -04:00
J. King
c9d4540616 Merge branch 'mysql' 2019-12-06 17:44:29 -05:00
J. King
bbe70b6abc Corect CamelCase references to Nextcloud 2019-12-05 13:02:02 -05:00
J. King
794fb506a5 Widen URL field 2019-12-03 22:33:44 -05:00
J. King
484510cf8c Expand text fields other than user id and feed URL 2019-12-03 17:10:47 -05:00
J. King
f4b08170bf Fix MySQL schema 2019-12-02 16:38:41 -05:00
J. King
568e6e4660 Delete dangling MySQL records when updating
MySQL seems to reject queries involving arsse_folders.parent and
arsse_subscription.folder, though they appear to be valid. More testing
is required.
2019-12-01 22:29:48 -05:00
J. King
737dd9f6b8 Fix foreign keys in MySQL 2019-12-01 15:00:28 -05:00
J. King
38bdde1167 Add access tokens to the db, with relevant code
Tokens are similar to sessions in that they stand in for users, but the
protocol handlers will manage them; Fever login hashes are the
originating use case for them. These must never expire, for example,
and we need to specify their values.

This commit also performs a bit of database clean-up
2019-03-09 16:23:56 -05:00
J. King
ed22090e49 Work around various SQLite-related problems
- WAL mode was not getting set properly
- Queries using the PDO driver could fail because PDO sucks
2019-03-04 11:05:46 -05:00
J. King
fb1bdbfb37 Database schema for subscription tags 2019-03-03 12:10:18 -05:00
J. King
05aadfe7c7 Use correct SQLite chema change procedure; version bump 2019-01-21 10:40:39 -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
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
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
0f48ce6f37 Use a Unicode collation for SQLite 2018-12-11 14:14:32 -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
0f7baf4b51 Base MySQL schema
Note the columns "key" and "read" must be quoted in addition to "user".
2018-11-28 14:00:36 -05:00
J. King
10b228224d Correct PostgreSQL data format and other tweaks 2018-11-28 12:12:49 -05:00
J. King
d0db784b22 PostgreSQL schema tweak 2018-11-27 17:50:38 -05:00
J. King
dccd4caede Convert one database function test series (articles) to a common harness
Also revert the dropping of tables in the schema files. This was for the
convenience of tests, but the risk of data loss is too great
2018-11-24 23:18:17 -05:00
J. King
36c5984c47 Add drop statements to database schemata to simplify testing 2018-11-23 12:53:56 -05:00
J. King
c0c4810662 Nominally complete PostgreSQL driver
Connection error handling as well as uprade error handling still need
to be implemented.
2018-11-21 11:06:12 -05:00
J. King
f64f0c6a22 Whitespace cleanup 2018-10-26 14:58:04 -04:00
J. King
4b46d654bb Replace SQLite is with SQL = for consistency 2017-12-19 17:19:05 -05:00
J. King
0b3b3cb49c Use SQLite nocase collation; improves #127 2017-12-07 18:05:34 -05:00
J. King
821bb22a72 SQLite concurrency tweaks; fixes #131 2017-12-01 16:37:58 -05:00
J. King
6da86428c4 Added per-file legal boilerplate
Includes PHPDoc license tag in the file-level block with accompanying copyright notice.

Also added an AUTHORS file on the off chance of outside contributions
2017-11-16 20:51:03 -05:00
J. King
11b2066922 Added per-file legal boilerplate
Includes PHPDoc license tag in the file-level block with accompanying copyright notice.

Also added an AUTHORS file on the off chance of outside contributions
2017-11-16 20:23:18 -05:00
J. King
ea986f5032 Implement TTRSS operation updateArticle; fixes #83
This required adding the "notes" column to the arsse_marks table and adding same as a target value in Database::articleMark()

The Context class was also adjusted to remove the possibility of false positives in some tests
2017-11-09 14:21:12 -05:00
J. King
2e395f3cec Complete backend support for labels 2017-10-13 00:04:26 -04:00
J. King
26f6922b25 Partially implement labels
- Backend functions for adding, listing, removing, and editing (renaming) labels currently implemented
- TTRSS functions for adding (fixes #96), removing (fixes #97), and renaming (fixes #98) labels currently implemented
2017-10-05 17:42:12 -04:00
J. King
91432d4e16 Tests for sessions 2017-09-24 12:45:07 -04:00
J. King
474d32e54f Preliminary implementation of TTRSS sessions (needs tests; may not work) 2017-09-16 19:57:33 -04:00
J. King
67203679aa Changed foreign key on marks table
Previously arsse_marks had a reference to arsse_users along with arsse_articles; the former has now changed to arsse_subscriptions.

Consequently deleting a subscription now deletes marks. Tests have been simplified as a consequence.

This change was understaken to simplify counting valid marks on articles for the purposes of article cleanup; now all marks are valid marks
2017-08-14 17:18:18 -04:00
J. King
3b018c89d1 Implemented cleanup of orphaned feeds; fixes #25 2017-08-02 18:27:04 -04:00
J. King
aaa4d1e988 Basic support for PicoFeed content scraping
- At the moment this is a completely manual setting: feed deduplication makes the setting very hard to handle for multiple users
- Improves #60
2017-07-17 14:56:50 -04:00
J. King
d4674c61b2 More bug fixes
- use DateFormatter throughout the Feed class
- Ensure dates have TEXT affinity in SQLite, in case it matters
- Add a userPreAuth setting for when relying on the Web server to do authentication
2017-07-15 13:33:17 -04:00
J. King
387b40829b Tweaks 2017-07-11 09:15:44 -04:00
J. King
7e7b204d85 Cleanup
- Revamped design of Query class to be more consistent and predictable, and generally suck less
- Removed special case for Query class in Statement class
- Cleaned up database schema somewhat
2017-07-07 11:49:54 -04:00
J. King
c6b7e653c5 Tests for feedUpdate and feedListStale
The update process neglects to handle enclosures; this will have to be fixed
2017-06-02 19:16:36 -04:00
J. King
ba6b5dee85 Simplify in-database settings
The previous complexity is really not required. Also modified how settingSet() works to avoid a REPLACE query, which is not compatible with PostgreSQL.
2017-06-01 16:24:11 -04:00