Commit Graph

171 Commits (1e89141c18410a1ed37b694463a90a47d4a0acde)

Author SHA1 Message Date
provokateurin 3a78473277
fixup! fix(UserMountCache): Add back unique index for oc_mounts and use normal insert 2025-12-10 16:48:17 +07:00
provokateurin 8f26d7e628
fixup! refactor: Migrate away from \OCP\IDBConnection::insertIfNotExist 2025-12-10 16:47:56 +07:00
Joas Schilling 7a4167fe28
fix(oracle): Don't run tests against unsupported Oracle version anymore
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-27 14:39:51 +07:00
Tobias Kaminsky 6f0537b4e9
Merge pull request #56494 from nextcloud/carl/result-improv
Improve IResult
2025-11-20 15:38:17 +07:00
Carl Schwan 2b61abd9ad refactor(db-adapter): Add tests about fetch methods
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-18 17:45:57 +07:00
Carl Schwan 4d47fdaa85 chore: Run rector with new rules for fetch
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-18 17:45:57 +07:00
Joas Schilling 75a8b9aff5
fix(db): Skip test on Oracle 11g
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-18 16:10:12 +07:00
Joas Schilling 4676b12a32
fix(db): Fix comparing JSON data in MySQL and MariaDB
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-18 11:58:32 +07:00
Joas Schilling fb8caecbb0
fix(db): Fix JSON handling in WHERE statements for postgres
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-18 11:58:31 +07:00
Ferdinand Thiessen 1eeed0a170
refactor(tests): teardown is now always called - also when skipped
* ref: https://github.com/sebastianbergmann/phpunit/issues/6394

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-05 15:42:34 +07:00
Ferdinand Thiessen d6d6747a73 refactor: apply rector rules for PHPUnit 10
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-27 21:56: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
provokateurin 6a12fbc4f3
refactor: Run rector
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-27 18:52:58 +07:00
Côme Chilliet 3e4531dd05
fix: Fix methods returning null for arrays in schema Mock
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-27 13:05:34 +07:00
Côme Chilliet ac61839d1e
fix(tests): Fix PHPUnit deprecation warnings in tests
Turn data providers into static methods, mostly.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-27 13:05:32 +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 9b2fff5931 refactor(querybuilder): Port away from qb::execute() in tests/
Replace by either executeStatement or executeQuery

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +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
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
Robin Appelman aa15f9d16d
chore: run rector
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-07-01 22:45:52 +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
Maxence Lange e39ab65239 feat(lexicon): migrate config key/value
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 +07:00
Robin Appelman 29e39c0a2e
chore: run rector on tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-06-12 18:31:58 +07:00
Joas Schilling 437f380fd9
test: Fix most tests/lib/DB/QueryBuilder
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:25:01 +07:00
Joas Schilling 3e7db013c1
test: Fix non-static data providers
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:25:01 +07:00
Joas Schilling b77011a918
test: Prepare more tests for PHPUnit 10
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-30 09:18:01 +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
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 ee02e3246d
feat(AppFramework): Add full support for date / time / datetime columns
This adds support for all Doctrine supported types, for the column types only the immutable variants needed to be added.
But especially those types are the important ones, as our **Entity** class works by detecting changes through setters.
Meaning if it is mutable, changes like `$entity->date->modfiy()` can not be detected, so the immutable types make more sense here.

Similar the parameter types needed to be added.

`Enity` and `QBMapper` needed to be adjusted so they support (auto map) those types, required when insert or update an entity.

Also added more tests, especially to make sure the mapper really serializes the values correctly.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-17 18:31:42 +07:00
John Molakvoæ ff0cab5956
Merge pull request #47852 from nextcloud/sharding-code-fixes 2024-09-16 11:39:58 +07:00
Christoph Wurst 49dd79eabb
refactor: Add void return type to PHPUnit test methods
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-09-15 22:32:31 +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
Arthur Schiwon b71c539b5c
test(phpunit): skip sharding tests on 32bit
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-08-29 20:18:35 +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 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
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
Maxence Lange ad490c963b feat(migration-attributes): tests
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-07-29 12:44:52 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Andy Scherzinger 1f7e2ba599
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-13 17:41:36 +07:00
Joas Schilling b04f6d57b4
fix(tests): Make PostgreSQL unit tests less flacky by ordering
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-25 06:47:39 +07:00
Maxence Lange f7d0c74b10 lazy AppConfig
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-01-15 15:45:13 +07:00
Julius Härtl e50cb0a30f tests(DB): Add test for date time comparisons in query builder
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-12-29 10:36:59 +07:00