aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/DB/Connection.php
Commit message (Collapse)AuthorAgeFilesLines
* feat: add additional logging for database errorsRobin Appelman2024-07-241-4/+47
| | | | | | including the stack trace of the current database transaction Signed-off-by: Robin Appelman <robin@icewind.nl>
* fix(db): Fix md5 for oracle >= 20Joas Schilling2024-07-191-0/+10
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* fix(db): Deprecate `IExpressionBuilder::or()` and ↵Joas Schilling2024-07-191-6/+6
| | | | | | `IExpressionBuilder::and()` without parameters Signed-off-by: Joas Schilling <coding@schilljs.com>
* fix(db): Promote the use of `getDatabaseProvider` to reduce the impage of ↵Joas Schilling2024-07-191-0/+20
| | | | | | removed upstream platforms Signed-off-by: Joas Schilling <coding@schilljs.com>
* fix(db): `Doctrine\DBAL\Connection::executeUpdate()` is deprecatedJoas Schilling2024-07-191-4/+1
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* fix(db): Use `createSchemaManager()` method as `getSchemaManager()` is ↵Joas Schilling2024-07-191-2/+2
| | | | | | deprecated Signed-off-by: Joas Schilling <coding@schilljs.com>
* Merge branch 'master' into refactor/OC-Server-getSecureRandomJohn Molakvoæ2024-05-301-63/+186
|\ | | | | Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
| * fix(db): Prevent two connections for single node databasesChristoph Wurst2024-05-281-1/+11
| | | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
| * Merge pull request #39589 from ↵Thomas Citharel2024-05-271-0/+2
| |\ | | | | | | | | | | | | nextcloud/enh/set-nest-transactions-with-savepoints set Doctrine to use nest transactions with savepoints
| | * feat(db): set Doctrine to use nest transactions with savepointsThomas Citharel2024-02-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using nested transactions without savepoints is actually deprecated by Doctrine: https://www.doctrine-project.org/projects/doctrine-dbal/en/current/reference/transactions.html#transaction-nesting Without savepoints, a nested transaction can be rollbacked but not handled properly in the "real" transaction, leading to the following error: Transaction commit failed because the transaction has been marked for rollback only. Ref https://github.com/nextcloud/server/pull/36528#issuecomment-1639913965 (and possibly) https://github.com/nextcloud/server/issues/38902#issuecomment-1598075391 Signed-off-by: Thomas Citharel <tcit@tcit.fr>
| * | fix(db): Log loong transaction times at debug levelJosh2024-05-251-2/+2
| | | | | | | | | Signed-off-by: Josh <josh.t.richards@gmail.com>
| * | chore: Add SPDX headerAndy Scherzinger2024-05-241-30/+3
| | | | | | | | | | | | Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
| * | feat: add option to add backtrace to the query loggerRobin Appelman2024-05-011-1/+7
| | | | | | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
| * | feat: add request id as comment to all queriesRobin Appelman2024-04-171-8/+20
| | | | | | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
| * | chore(db): move to OCP\ServerGit'Fellow2024-04-131-6/+7
| | | | | | | | | Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
| * | fix: Apply new coding standard to all filesCôme Chilliet2024-04-021-3/+3
| |/ | | | | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
| * Merge pull request #43297 from nextcloud/fix/db/dirty-read-cool-offChristoph Wurst2024-02-191-3/+20
| |\ | | | | | | fix(db): Let dirty writes cool off
| | * fix(db): Let dirty writes cool offChristoph Wurst2024-02-191-3/+20
| | | | | | | | | | | | | | | | | | | | | We can assume that after a few seconds a read will be clean again. This is helpful for false warnings in long running processes. Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
| * | fix(db): Give dirty read exception a messageChristoph Wurst2024-02-151-1/+1
| | | | | | | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
| * | fix(db): Unify long transaction log/exception messageChristoph Wurst2024-02-131-1/+1
| |/ | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
| * fix(db): Execute dirty reads on the primary nodeChristoph Wurst2024-01-301-0/+4
| | | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
| * feat(db): Make dirty query logging available in productionChristoph Wurst2024-01-301-1/+9
| | | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
| * Merge pull request #42929 from nextcloud/fix/db/transacted-read-not-dirtyChristoph Wurst2024-01-231-2/+5
| |\ | | | | | | fix(db): Do not log transacted reads as dirty read
| | * fix(db): Do not log transacted reads as dirty readChristoph Wurst2024-01-181-2/+5
| | | | | | | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
| * | fix(db): Remove very verbose dirty query logsChristoph Wurst2024-01-181-11/+0
| |/ | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
| * fix: Add reconnect check in case of timeouts on the db sideJulius Härtl2024-01-121-0/+27
| | | | | | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
| * feat: First attempt to track dirty tables after writes and switch back to ↵Julius Härtl2024-01-121-0/+27
| | | | | | | | | | | | | | | | | | | | replicas if reads go to other tables Signed-off-by: Julius Härtl <jus@bitgrid.net> debug: error log Signed-off-by: Julius Härtl <jus@bitgrid.net>
| * feat: Add logging for transaction timeJulius Härtl2024-01-121-0/+34
| | | | | | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
| * enh: Implement PrimaryReadReplicaConnectionJulius Härtl2023-12-161-2/+17
| | | | | | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
| * chore: apply changes from Nextcloud coding standards 1.1.1Joas Schilling2023-11-231-2/+2
| | | | | | | | | | Signed-off-by: Joas Schilling <coding@schilljs.com> Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
| * fix(mysql): Remove custom MySQL workaround from 2015Joas Schilling2023-10-061-2/+0
| | | | | | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
| * fix(postgres): Remove old Postgres 9.4 workaroundJoas Schilling2023-10-061-3/+0
| | | | | | | | | | | | | | | | Postgres 10 is the minimum in the meantime and doctrine/dbal fixed this in 2.6.0 already ref https://github.com/doctrine/dbal/pull/2614 Signed-off-by: Joas Schilling <coding@schilljs.com>
| * fix(sqlite): Remove no longer required autoincrement fixJoas Schilling2023-10-061-2/+2
| | | | | | | | | | | | | | | | | | - I installed current master and exported the schema as SQL - Then I went to this branch, removed the content of the run() method (so made it no-op) - I installed again and exported the schema as SQL - The files are exactly the same, so whatever we tried to fix was fixed since 2015 in doctrine dbal Signed-off-by: Joas Schilling <coding@schilljs.com>
| * Cleanup plsam issues in DB/ContactsManager and ConsoleCarl Schwan2023-09-051-8/+8
| | | | | | | | Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* | Refactor `OC\Server::getSecureRandom`Andrew Summers2023-08-291-1/+2
|/ | | | Signed-off-by: Andrew Summers <18727110+summersab@users.noreply.github.com>
* fix DBAL exception handling in setValuesArthur Schiwon2023-03-311-7/+11
| | | | | | | | | This seems to be a left over after abstracting DBAL. Nowadays, IQueryBuilder::executeStatement() only throws a \OCP\DB\Exception, where previously original DBAL exceptions where thrown. These are now wrapped, the orignal classes are now mapped to a reason. Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
* Fix more psalm issues in OC\DBCôme Chilliet2022-11-211-2/+4
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Fix psalm issues following doctrine/dbal bumpCôme Chilliet2022-11-211-3/+4
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Migrate Repair events to OCP\EventDispatcher\EventCôme Chilliet2022-08-251-1/+1
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* record backtrace when profiling db requestsRobin Appelman2022-04-041-2/+1
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Add a built-in profiler inside NextcloudCarl Schwan2022-04-041-0/+15
| | | | | | The webui is provided by a seperate application named profiler Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Adapt more code to migration to LoggerInterfaceCôme Chilliet2022-03-241-35/+34
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Merge pull request #31235 from nextcloud/techdebt/noid/extract-request-idJoas Schilling2022-03-221-2/+8
|\ | | | | Extract request id handling to dedicated class so it can be injected without DB dependency
| * Allow to prefix the Query log with the request idJoas Schilling2022-02-231-2/+8
| | | | | | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* | Add event logging for db and redis connectionJulius Härtl2022-02-281-1/+11
| | | | | | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* | Add --dry-run option for db:add-missing-* cmdLouis Chemineau2022-02-241-2/+10
|/ | | | Signed-off-by: Louis Chemineau <louis@chmn.me>
* Check if directoy is writable instead of possibly missing fileCarl Schwan2021-12-201-1/+1
| | | | Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Allow to log DB, redis and LDAP requests into filesJoas Schilling2021-12-011-0/+14
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* Allow NULL as well for limit, not integer onlyJoas Schilling2021-11-151-3/+8
| | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* Update php licensesJohn Molakvoæ (skjnldsv)2021-06-041-1/+0
| | | | Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>