Marcel Klehr
8589debf6d
fix(ConnectionFactory): Apply Oracle connection fix to primary and replica params as well
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-21 15:49:40 +07:00
Ferdinand Thiessen
5981b7eb51
chore: apply new CSFixer rules
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
# Conflicts:
# apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +07:00
Robin Appelman
26903926a2
fix: allow hinting the shard keys for joined tables
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-06-10 16:15:05 +07:00
Joas Schilling
ad7a050f96
fix: Revert "fix(db): Store last insert id before reconnect"
...
This reverts commit df94cceb7b .
There were records of some old IDs being read which is much worse
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-21 07:55:42 +07:00
Joas Schilling
df94cceb7b
fix(db): Store last insert id before reconnect
...
During a reconnect we are losing the connection and when the
realLastInsertId call is the one triggering the reconnect, it
does not return the ID. But inside the reconnect, we were able
to save the last insert id, so calling it a second time is going
to be successful.
We can not return the result on the initial call, as we are already
way deeper in the stack performing the actual database query on
the doctrine driver.
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-14 10:27:00 +07:00
Marcel Müller
0955b0a39d
feat: Add option to also log parameters to query log
...
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-04-19 21:29:26 +07:00
Robin Appelman
fc2cda12b5
fix: use proper migration sorting when checking if a migration needs to be executed
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-04-02 14:29:08 +07:00
Robin Appelman
9bbe8c59d7
Merge pull request #51073 from nextcloud/dbal-exception-query
...
feat: log query for dbal exceptions
2025-03-04 16:32:55 +07:00
Varun Patil
c414ddee54
feat(db): add truncateTable method
...
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2025-03-02 10:36:13 +07:00
Robin Appelman
f3bd4a79d9
feat: log query for dbal exceptions
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-26 17:37:13 +07:00
Andy Scherzinger
48d69c727a
fix(lint): correct comment identation
...
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-02-25 22:35:50 +07:00
Andy Scherzinger
388301275b
Merge pull request #50764 from p1gp1g/patch-1
...
Update doc comment for prefixTableName
2025-02-25 22:16:04 +07:00
Robin Appelman
0a77ba99a2
feat: support migrating an instance to sharding
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-25 17:52:40 +07:00
Louis Chemineau
066c92f7b0
fix: Initialize lastConnectionCheck after first connection
...
We are checking whether the DB connection is alive once every 30 seconds. But when we are lacking the last check time, we are skipping the check and reconnect logic. This is causing the reconnect logic to never fire in those cases.
It seems to me that "those cases", are actually always the case, as upon initialization, we are not using the proper connection name to store the time.
In the `connect()` logic, when `$this->_conn` is null, `$this->getConnectionName()` is returning `replica`, so `$this->lastConnectionCheck` will be equal to `['replica' => time()];`
60711ea4cf/lib/private/DB/Connection.php (L215-L221)
60711ea4cf/lib/private/DB/Connection.php (L891-L893)
2b6d7bf65f/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php (L136-L139)
Then, if the connection name ends up as being 'primary', the reconnect logic is skipped:
60711ea4cf/lib/private/DB/Connection.php (L874-L880)
Follow-up of https://github.com/nextcloud/server/pull/41819
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-02-19 12:25:12 +07:00
S1m
da090c7a7a
Update doc comment for prefixTableName
...
Signed-off-by: S1m <31284753+p1gp1g@users.noreply.github.com>
2025-02-11 17:44:39 +07:00
Nils Wenninghoff
cf5d55edb7
fix(ConvertType): Read dbtype in createConnectionParams and remove safeguard
...
Signed-off-by: Nils Wenninghoff <nils@ungemein.cool>
2025-01-30 09:24:58 +07:00
Robin Appelman
0f55a589ba
fix: improve logic for ensuring join columns are selected for partitioned queries
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-12 17:39:04 +07:00
Robin Appelman
c3930163a2
fix: handle calling select on partitioned queries with an array of columns
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-12 17:38:21 +07:00
Benjamin Gaussorgues
49bd1754d4
fix(sharding): typo in addOrderBy
...
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-10-30 07:53:10 +07:00
dependabot[bot]
bb598c8451
chore(deps): Bump nextcloud/coding-standard in /vendor-bin/cs-fixer
...
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard ) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/nextcloud/coding-standard/releases )
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nextcloud/coding-standard/compare/v1.3.1...v1.3.2 )
---
updated-dependencies:
- dependency-name: nextcloud/coding-standard
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-19 07:57:35 +07:00
Ferdinand Thiessen
db94e10af0
fix: Prevent breaking change in IQueryBuilder
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-17 18:31:44 +07:00
Ferdinand Thiessen
e314d52118
fix: Adjust parameter type usage and add SQLite support
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-17 18:31:44 +07:00
provokateurin
e445be1202
fix(QueryBuilder): Account for aliases in output columns
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-02 11:55:27 +07:00
provokateurin
35dfc639b3
fix(QueryBuilder): Restrict identifier length to 30 characters due to Oracle limitations
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-26 08:57:06 +07:00
Ferdinand Thiessen
a8f46af20f
chore: Add proper deprecation dates where missing
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-20 00:46:03 +07:00
provokateurin
9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +07:00
John Molakvoæ
ff0cab5956
Merge pull request #47852 from nextcloud/sharding-code-fixes
2024-09-16 11:39:58 +07:00
Ferdinand Thiessen
027fc052e7
fix: Adjust types of IQueryBuilder to properly allow joining with sub-query
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-10 17:51:27 +07:00
Robin Appelman
da59fd4389
fix: misc code fixes around db sharding
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-09 16:59:59 +07:00
Anna Larch
8af7ecb257
chore: adjust code to adhere to coding standard
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-05 21:23:38 +07:00
John Molakvoæ
7efd244956
Merge pull request #47675 from nextcloud/adapterQueryOpti
2024-09-04 09:15:52 +07:00
Julius Härtl
7f0d0cf03c
Merge pull request #47640 from nextcloud/fix/migrator-replica
...
fix: Run migration sql as statement so that the primary db node is used
2024-09-02 10:46:24 +07:00
Git'Fellow
8e6e7976d2
fix: psalm
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-09-02 10:19:25 +07:00
Git'Fellow
388f2973b9
fix: psalm
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-09-02 10:08:08 +07:00
Git'Fellow
dfcf3132dd
chore(db): Make the query more simpler to read
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-09-02 09:57:48 +07:00
Julius Härtl
c3fa25a16e
fix: Run migration sql as statement so that the primary db node is used
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-08-30 15:45:50 +07:00
Arthur Schiwon
edaa4d1432
fix(DB): do not assume sharding is always enabled
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-08-29 19:55:10 +07:00
Arthur Schiwon
381e922085
fix(DB): set sharding parameters only when intended
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-08-29 19:12:44 +07:00
Andy Scherzinger
d404998157
Merge pull request #47515 from nextcloud/bugfix/noid/fix-migration-sorting
...
fix(migration): Correctly sort migrations by version number
2024-08-28 20:46:24 +07:00
Louis Chemineau
2574cbfa61
chore: Apply php:cs recommendations
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-08-28 10:44:18 +07:00
Robin Appelman
b21a399d1a
fix: implement sharding compatible cleanup for various bits
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:27:14 +07:00
Robin Appelman
fc05a67f19
fix: only allow pre-defined shards
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:21:19 +07:00
Robin Appelman
62f8b6517f
feat: implement distributing partitioned queries over multiple shards
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:21:19 +07:00
Robin Appelman
f5b3486744
feat: add option to automatically partition queries by specific tables
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:18:53 +07:00
Robin Appelman
c09ec95255
feat: track expected output columns in query builder
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:18:52 +07:00
Joas Schilling
46c853146b
fix(migration): Correctly sort migrations by version number
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-08-27 16:25:10 +07:00
Christoph Wurst
bdcfe5b8a9
fix(db): Increase log level for very slow transactions
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-08-27 10:12:14 +07:00
Daniel Kesselberg
af6de04e9e
style: update codestyle for coding-standard 1.2.3
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +07:00
Robin Appelman
658d2f7ea1
feat: expose escapeLikeParameter trough query builder
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-23 15:12:10 +07:00
Robin Appelman
5654799cb4
fix: fix passing additional db connection parameters in factory
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-31 18:53:42 +07:00