Carl Schwan
336cc3fa35
feat(Db): Use SnowflakeId for previews
...
Allow to get an id for the storing the preview on disk before inserting
the preview on the DB.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-28 17:50:03 +07:00
Carl Schwan
1dc363581f
fix: get all available previews on Oracle
...
Split the DB requests in chunk of 1000 and use INNER JOIN instead of IN
as this is better supported on all DB.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-23 14:10:15 +07:00
Carl Schwan
1eff9e5c90
feat(querybuilder): Remove deprecated IQueryBuilder::execute
...
This won't work when we update to doctrine DBAL 4 and all usages in
server were ported away.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-13 17:02:04 +07:00
Carl Schwan
9095a36b94
refactor(dbal): Port away from getDatabasePlatform() instanceof pattern
...
Use getDatabaseProvider instead.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-13 13:44:08 +07:00
Carl Schwan
7a43bf26ca
refactor(dbal): Migrate away from Type::getName
...
Instead use Type::lookupName
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-10 16:13:09 +07:00
Carl Schwan
b0c6ef5821
refactor(dbal): Port away from deprecated hasPrimaryKey
...
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-10 15:44:43 +07:00
Benjamin Gaussorgues
5883914422
feat(db): add SSL/TLS support for PostgreSQL
...
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-09-22 11:51:04 +07:00
Carl Schwan
837fe3586d
feat(db): Restaure support for non-nullable boolean column
...
We disabled them because they are not supported on Oracle DB and it is
still the case for OCI < 23. But instead of disabling the support
completely for every database types, mark non-nullable boolean column as
actually nullable when using Oracle.
This allow to use some slighly lighter schema on normal databases who
support natively booleans wheen we don't need to store 3 states
true|false|null.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-17 14:45:48 +07:00
Carl Schwan
c21b8169ff
refactor(querybuilder): Port away from qb::execute() in lib/
...
Replace by either executeStatement or executeQuery
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:56 +07:00
Côme Chilliet
b7c15949ce
chore: Get rid of AppLocator helper
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +07:00
Varun Patil
5ecd3c4b49
feat(database): Add option to test for mariadb
...
There are some behavioral differences that apps may need to check for.
See discussion on #51175 for more info.
This preserves the existing behavior of getDatabaseProvider()
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2025-08-08 07:50:51 +07:00
Joas Schilling
c9fa1db925
Merge pull request #54230 from nextcloud/bugfix/spreed-15625/log-query-with-immutable-dates
...
fix(logging): Fix query logging with DateTimeImmutable parameters
2025-08-05 12:29:04 +07:00
Joas Schilling
c722f8c88b
fix(logging): Fix query logging with DateTimeImmutable parameters
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-04 08:47:55 +07:00
Robin Appelman
222cbd0af6
fix: fix oci string length with empty strings
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-01 17:45:35 +07:00
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