Stephan Orbaugh
65941811b3
Merge pull request #44788 from nextcloud/db-error-logging
...
feat: add additional logging for database errors
2024-07-25 09:09:57 +02:00
Robin Appelman
7fbb981877
feat: add additional logging for database errors
...
including the stack trace of the current database transaction
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-24 15:35:07 +02:00
Robin Appelman
16c184e2cb
fix: cast to bigint on postgresql
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-23 14:41:13 +02:00
Joas Schilling
b656edc47c
fix(db): Fix md5 for oracle >= 20
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 14:13:56 +02:00
Joas Schilling
e1e4ee4d67
fix(db): Manually track if where() is called when not empty to avoid recursion
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:16 +02:00
Joas Schilling
eeb6ddb176
fix(db): Deprecate IExpressionBuilder::or() and IExpressionBuilder::and() without parameters
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:16 +02:00
Joas Schilling
e45465781f
fix(db): Deprecate getState() as per upstream
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:15 +02:00
Joas Schilling
829f2b9bc7
fix(db): Promote the use of getDatabaseProvider to reduce the impage of removed upstream platforms
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:14 +02:00
Joas Schilling
bd383627a7
fix(db): Deprecate using table alias for DELETE and UPDATE
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:13 +02:00
Joas Schilling
c84580d53a
fix(db): Doctrine\DBAL\Connection::executeUpdate() is deprecated
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:12 +02:00
Joas Schilling
11e84b8968
fix(db): Fix internal calls to doctrine's fetch() methods
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:12 +02:00
Joas Schilling
a4c1d7291f
fix(db): Use createSchemaManager() method as getSchemaManager() is deprecated
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:11 +02:00
Joas Schilling
f92352eda4
fix(db): Deprecate getQueryPart() and resetQueryPart() methods that will be removed with Doctrine/DBAL 4
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:10 +02:00
Robin Appelman
9de6190ec4
feat: allow running QueryBuilder queries on different connections
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-15 22:41:04 +02:00
Robin Appelman
f94b0c3f55
Merge pull request #46397 from nextcloud/extended-query-builder-base
...
feat: add base class for extending the query builder
2024-07-15 14:53:22 +02:00
Robin Appelman
c82d382a20
feat: add base class for extending the query builder
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-12 17:01:39 +02:00
Robin Appelman
d81d59e9c3
feat: allow inspecting the parts of the composite expression builder
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-12 17:01:36 +02:00
Robin Appelman
4f01486da0
feat: add commands for exporting current and expected database schema
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-02 13:45:12 +02:00
Benjamin Gaussorgues
b7243681dd
feat(dbal): add proper insert ignore conflict method for SQLite
...
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-06-25 16:21:01 +02:00
Benjamin Gaussorgues
1e19566aa4
feat(dbal): add proper insert ignore conflict method for MySQL
...
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-06-25 11:28:37 +02:00
Daniel Kesselberg
cac6443cbb
feat(db): remove workaround for pqsql 9.4 and older
...
The workaround was required because "ON CONFLICT DO NOTHING" was added with pqsql 9.5.
PostgreSQL 9.4 is eol since 2020-02-13 and thus everyone should use a version with upsert support nowadays.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-06-03 12:47:31 +02:00
John Molakvoæ
258bb03cf5
Merge branch 'master' into refactor/OC-Server-getSecureRandom
...
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-05-30 14:24:22 +02:00
Daniel Kesselberg
3fb0aa40cd
feat(db): add mapping for lock wait timeout
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-05-29 11:10:43 +02:00
Christoph Wurst
3bfba2042c
fix(db): Prevent two connections for single node databases
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-05-28 10:38:36 +02:00
Thomas Citharel
b0f5c759a8
Merge pull request #39589 from nextcloud/enh/set-nest-transactions-with-savepoints
...
set Doctrine to use nest transactions with savepoints
2024-05-27 16:53:53 +02:00
Josh
48b47f7903
fix(db): Log loong transaction times at debug level
...
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-05-25 09:07:43 -04:00
Andy Scherzinger
dae7c159f7
chore: Add SPDX header
...
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +02:00
John Molakvoæ
d4a6a700da
Merge pull request #39247 from nextcloud/query-log-backtrace
2024-05-02 12:03:34 +02:00
Robin Appelman
d6be80ceaf
feat: add option to add backtrace to the query logger
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-01 18:12:16 +02:00
Joas Schilling
90ba7db0fb
fix(querybuilder): Remove temporary internal method executeUpdate()
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-30 15:13:12 +02:00
Côme Chilliet
26c4ca264f
fix: Remove bogus code from query builder and fix parameter name
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 09:23:58 +02:00
Robin Appelman
8c10c78099
feat: add request id as comment to all queries
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-17 16:36:24 +02:00
Git'Fellow
5f519a2e7d
chore(db): move to OCP\Server
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-04-13 18:29:22 +02:00
Côme Chilliet
ab6afe0111
fix: Fix new psalm errors from update
...
Not sure about the SimpleContainer modification, let’s see what CI says
about that.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-08 11:29:09 +02:00
Côme Chilliet
ec5133b739
fix: Apply new coding standard to all files
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +02:00
Benjamin Gaussorgues
b304dc78f8
Merge pull request #44470 from nextcloud/fix/compatibility-replica-splitting
2024-03-26 20:27:14 +01:00
Julius Härtl
2fdb9184fa
fix: Allow using replica config with split databases
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-03-26 09:25:44 +01:00
Ferdinand Thiessen
2525e73caa
fix(DB): Sanitize host parameter for postgres databases when IPv6 address is passed
...
Doctrine is using `pg_connect` with the `host` parameter, this does not allow IPv6 addresses in URI notation.
So we need to extract the IP address and pass it directly
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-25 20:25:17 +01:00
Thomas Citharel
2a0815401e
feat(db): set Doctrine to use nest transactions with savepoints
...
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>
2024-02-27 14:27:11 +01:00
Christoph Wurst
d52ebaa7cd
Merge pull request #43297 from nextcloud/fix/db/dirty-read-cool-off
...
fix(db): Let dirty writes cool off
2024-02-19 10:53:05 +01:00
Christoph Wurst
1f46e4b854
fix(db): Let dirty writes cool off
...
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>
2024-02-19 10:13:24 +01:00
Christoph Wurst
cf17a20835
fix(db): Give dirty read exception a message
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-02-15 09:14:47 +01:00
Christoph Wurst
aef28e191a
fix(db): Unify long transaction log/exception message
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-02-13 08:17:49 +01:00
Simon L
8fd2289058
Merge pull request #43357 from nextcloud/enh/41253/fix-occ-upgrade
...
fix(migration): Make naming constraint fail softer on updates
2024-02-08 18:27:39 +01:00
Louis Chemineau
898df41de9
Revert "Merge branch 'master' of github.com:nextcloud/server"
...
This reverts commit d9d60238c7 , reversing
changes made to ba3fdb0cdc .
2024-02-08 15:31:19 +01:00
Joas Schilling
487c33f479
fix(migration): Make naming constraint fail softer on updates
...
Only on installation we want to break hard, so that all developers notice
the bugs when installing the app on any database or CI, and can work on
fixing their migrations before releasing a version incompatible with Postgres.
In case of updates we might be running on production instances and the
administrators being faced with the error would not know how to resolve it
anyway. This can also happen with instances, that had the issue before the
current update, so we don't want to make their life more complicated
than needed.
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-07 20:45:51 +01:00
Christoph Wurst
97152de9bf
fix(db): Execute dirty reads on the primary node
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-01-30 12:17:39 +01:00
Christoph Wurst
911ab393c0
feat(db): Make dirty query logging available in production
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-01-30 10:31:03 +01:00
Christoph Wurst
033a654389
Merge pull request #42929 from nextcloud/fix/db/transacted-read-not-dirty
...
fix(db): Do not log transacted reads as dirty read
2024-01-23 09:34:20 +01:00
Christoph Wurst
ab0d7c007d
fix(db): Remove very verbose dirty query logs
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-01-18 18:33:07 +01:00