summaryrefslogtreecommitdiffstats
path: root/lib/public/DB
Commit message (Collapse)AuthorAgeFilesLines
* feat: Add public event for missing indicesJulius Härtl2023-07-141-0/+59
| | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* Fix typos in lib/public subdirectorySimon L2023-05-102-2/+2
| | | | | | | | | | | | | Found via `codespell -q 3 -S l10n -L jus ./lib/public` Signed-off-by: luz paz <luzpaz@github.com> Update lib/public/Accounts/IAccount.php Signed-off-by: luz paz <luzpaz@github.com> Signed-off-by: Simon L <szaimen@e.mail.de> Co-Authored-By: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
* composer run cs:fixCôme Chilliet2023-01-205-5/+0
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Revert "add case statement to sql function builder"Robin Appelman2022-08-161-12/+0
| | | | | | This reverts commit 2a68819a67045d87a369a8a6413f153b3b2bea5f. Signed-off-by: Robin Appelman <robin@icewind.nl>
* Revert "make expression build return IQueryFunction instead of string"Robin Appelman2022-08-162-36/+36
| | | | | | This reverts commit 813b50ed428a8bc36817d19c84444e96dbe3b668. Signed-off-by: Robin Appelman <robin@icewind.nl>
* add case statement to sql function builderRobin Appelman2022-06-021-0/+12
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* make expression build return IQueryFunction instead of stringRobin Appelman2022-06-022-36/+36
| | | | | | this allows passing the expressions to further expressions without them being escaped as column names Signed-off-by: Robin Appelman <robin@icewind.nl>
* Adjust docs to the same as the implementationJoas Schilling2022-05-231-1/+1
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* Fix psalm issues related to the user backendCarl Schwan2022-05-201-1/+1
| | | | | | | | | | | | | - Reflect the actual return value returned by the implementation in the the interface. E.g. IUser|bool -> IUser|false - Remove $hasLoggedIn parameter from private countUser implementation. Replace the two call with the equivalent countSeenUser - getBackend is nuallable, add this to the interface - Use backend interface to make psalm happy about call to undefined methods. Also helps with getting rid at some point of the old implementActions Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* tell mysql to ignore the sort index for search queriesRobin Appelman2022-04-221-1/+1
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Add a metadata service to store file metadataCarl Schwan2022-04-132-0/+11
| | | | Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Add octetLength and charLength to function builder, and testsCôme Chilliet2022-03-241-0/+18
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Do chuncked job deletionCarl Schwan2022-03-171-0/+5
| | | | | | | | | | | | | | | This is helpful in cases where we are deleting tons jobs at the same time in a gallera cluster. This doesn't happen often but this can create issues. Test plan: 1. Use https://github.com/nextcloud/quota_warning/pull/88 2. Change max to 1 3. Enabled/Disable quota_warning app and see jobs getting sucessfully added and removed Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Add a few more non-extendable interfaceCarl Schwan2022-03-053-1/+27
| | | | Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Merge pull request #30379 from nextcloud/feature/add-comments-reactionsJoas Schilling2022-01-211-2/+2
|\ | | | | Add comments reactions
| * Remove order from groupConcat as it is not working everywhereJoas Schilling2022-01-211-2/+1
| | | | | | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
| * Fix groupConcat and ordering on OracleVitor Mattos2022-01-211-1/+2
| | | | | | | | Signed-off-by: Vitor Mattos <vitor@php.rio>
| * Prevent query error when use subqueryVitor Mattos2022-01-211-2/+2
| | | | | | | | Signed-off-by: Vitor Mattos <vitor@php.rio>
* | Merge pull request #30471 from nextcloud/enh/cast-char-mysqlJoas Schilling2022-01-201-0/+1
|\ \ | |/ |/| Explicitly cast char in the query builder
| * Explicitly cast char in the query builderJulius Härtl2022-01-041-0/+1
| | | | | | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* | Accept multipe args on concatVitor Mattos2022-01-061-3/+3
| | | | | | | | Signed-off-by: Vitor Mattos <vitor@php.rio>
* | Use quote functionJoas Schilling2022-01-041-1/+1
| | | | | | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* | Add a test with integerJoas Schilling2022-01-041-1/+1
| | | | | | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* | Add unit testVitor Mattos2022-01-031-2/+1
| | | | | | | | Signed-off-by: Vitor Mattos <vitor@php.rio>
* | Add unit test and orderBy parameterVitor Mattos2022-01-031-1/+2
| | | | | | | | Signed-off-by: Vitor Mattos <vitor@php.rio>
* | Add group_concat aggregator functionVitor Mattos2022-01-031-0/+16
|/ | | | Signed-off-by: Vitor Mattos <vitor@php.rio>
* Fix default value for $type in ↵Côme Chilliet2021-11-231-2/+2
| | | | | | | | | OC\DB\QueryBuilder\ExpressionBuilder\ExpressionBuilder::literal This fixes PHP errors about passing null to PDO::quote second parameter. We may want to change IExpressionBuilder as well? Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Allow NULL as well for limit, not integer onlyJoas Schilling2021-11-151-2/+2
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* Bump doctrine/dbal from 3.0.0 to 3.1.3Christoph Wurst2021-10-221-2/+2
| | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* disable path prefix index on postgresql for nowRobin Appelman2021-10-081-1/+14
| | | | | | | having the index work properly for the queries we need it for requires some additional options which dbal does not support at the momement. to prevent making it harder to add the correct index later on we don't create the index for now on postgresql Signed-off-by: Robin Appelman <robin@icewind.nl>
* Allow casting query functions as wellJoas Schilling2021-07-071-2/+2
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* Update php licensesJohn Molakvoæ (skjnldsv)2021-06-0412-32/+24
| | | | Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
* executeUpdate is also deprecatedLukas Reschke2021-05-251-1/+1
| | | | | | Ref https://github.com/nextcloud/server/blob/1089ad5d9e74a0cfd3b48ed1514f23be40fe6d45/lib/private/DB/QueryBuilder/QueryBuilder.php#L312-L323 Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
* Rename IQueryBuilder::executeUpdate to IQueryBuilder::executeStatementChristoph Wurst2021-05-051-4/+4
| | | | | | | | | Because executeUpdate wasn't a great name. And in DBAL they also use executeStatement more consistently now. Ref https://github.com/doctrine/dbal/issues/4607 Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* remove undefined parameter, add descriptionArthur Schiwon2021-04-221-1/+1
| | | | Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
* Merge pull request #25929 from nextcloud/techdept/psalm/25839/redundantcastsRoeland Jago Douma2021-03-051-1/+1
|\ | | | | Remove Redundantcasts
| * Remove RedundantcastsRoeland Jago Douma2021-03-041-1/+1
| | | | | | | | | | | | For #25839 Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* | Type CompositeExpression and ICompositeExpressionRoeland Jago Douma2021-03-041-4/+4
| | | | | | | | Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* | Add executeQuery and executeUpdateRoeland Jago Douma2021-03-041-0/+23
|/ | | | | | | | | | | Names shamelessly copied from Doctrine itself. Internally it is still using the same flow. But I added some checks around it. This should make static analysis a bit more happy. Which in turn makes me more happy. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* Merge pull request #25656 from nextcloud/enh/type/expressionbuilderJoas Schilling2021-03-031-28/+28
|\ | | | | Type the experssionbuilders
| * Type the experssionbuildersRoeland Jago Douma2021-03-031-28/+28
| | | | | | | | Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* | allow non string join conditions in query builderRobin Appelman2021-03-031-4/+4
|/ | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Add expression taint source and sanitizerLukas Reschke2021-02-172-0/+152
| | | | Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
* Merge pull request #25091 from ↵Christoph Wurst2021-01-142-0/+151
|\ | | | | | | | | nextcloud/enhancement/ocp-db-exception-abstraction Add our own DB exception abstraction
| * Add our own DB exception abstractionChristoph Wurst2021-01-122-0/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now our API exports the Doctrine/dbal exception. As we've seen with the dbal 3 upgrade, the leakage of 3rdparty types is problematic as a dependency update means lots of work in apps, due to the direct dependency of what Nextcloud ships. This breaks this dependency so that apps only need to depend on our public API. That API can then be vendor (db lib) agnostic and we can work around future deprecations/removals in dbal more easily. Right now the type of exception thrown is transported as "reason". For the more popular types of errors we can extend the new exception class and allow apps to catch specific errors only. Right now they have to catch-check-rethrow. This is not ideal, but better than the dependnecy on dbal. Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* | Add our own constants for db column typesChristoph Wurst2021-01-121-0/+113
|/ | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* Bump doctrine/dbal from 2.12.0 to 3.0.0Christoph Wurst2021-01-083-1/+216
| | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* Update license headersChristoph Wurst2020-12-301-0/+1
| | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* Merge pull request #22916 from J0WI/unifiy-links-to-php.netRoeland Jago Douma2020-12-221-1/+1
|\ | | | | Unify links to php.net
| * Unify links to php.netJ0WI2020-09-171-1/+1
| | | | | | | | | | | | Update all links to https://www.php.net/ Signed-off-by: J0WI <J0WI@users.noreply.github.com>