Commit graph

783 commits

Author SHA1 Message Date
Robin Appelman
4e60b9ffe2
cleanup fileinfo creation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 16:00:53 +01:00
Robin Appelman
dbd8b0ae82
format
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 16:00:47 +01:00
Robin Appelman
6a639ec1d0
handle limit and offset in folder file search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 16:00:41 +01:00
Robin Appelman
4655f6feb1
only require user to be set in a query that handles tags
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 16:00:35 +01:00
Robin Appelman
a624243236
unify handling of Folder::search methods into "new" query objects
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 16:00:29 +01:00
John Molakvoæ (skjnldsv)
dfcf6ad106 Catch invalid cache source storage path
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-03-24 11:05:32 +00:00
Morris Jobke
4f18ff9815
Merge pull request #25944 from nextcloud/backport/25659/stable20
[stable20] catch notfound and forbidden exception in smb::getmetadata
2021-03-17 20:13:57 +01:00
Morris Jobke
71b793f8a1
Merge pull request #26091 from nextcloud/backport/25722/stable20
[stable20] apply object store copy optimization when 'cross storage' copy is wit…
2021-03-17 20:09:56 +01:00
Morris Jobke
2982fa346b
Merge pull request #26181 from nextcloud/backport/26003/stable20
[stable20] Add getID function to the simplefile implementation
2021-03-17 20:06:15 +01:00
Morris Jobke
fe3b3a9cec
Merge pull request #26147 from nextcloud/backport/26013/stable20
[stable20] Return the fileid from `copyFromCache` and use it instead of doing an extra query
2021-03-17 20:04:11 +01:00
Roeland Jago Douma
147134fc31 Add getID function to the simplefile implementation
Sometimes it is useful to get the actual fileid

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-17 16:15:46 +00:00
Robin Appelman
534a935433 remove explicit fclose from S3->writeStream
streams get closed automatically when dropped, and in some cases the stream seems to be already closed by the S3 library, in which case trying to close it again will raise an error

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-17 09:36:11 +00:00
Robin Appelman
436cd31bd2 verify that cache entry is valid
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:18:04 +00:00
Robin Appelman
9bb73574c3 also implement for FailedCache and NullCache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:18:03 +00:00
Robin Appelman
20ab946c3f use returned file id for object store copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:18:01 +00:00
Robin Appelman
aaa4c071ed add ICopyFromCache trait to expose existing implementation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 16:18:01 +00:00
Robin Appelman
f500e2396e
adjust tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 15:22:23 +01:00
Robin Appelman
7fd53b91c3
fix search in nested jails
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 15:22:22 +01:00
Robin Appelman
a20eb9a229
fix cachjail searching for root
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 15:22:22 +01:00
Robin Appelman
5d08beb3d2
do cachejail search filtering in sql
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 15:22:22 +01:00
Robin Appelman
5827a156af apply object store copy optimization when 'cross storage' copy is within the same object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 16:16:32 +00:00
Robin Appelman
326f7ac857 catch notfound and forbidden exception in smb::getmetadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-05 07:54:09 +00:00
Morris Jobke
fb0067a777
Merge pull request #24592 from nextcloud/backport/23912/stable20
[stable20] use in objectstore copy
2021-01-07 13:28:10 +01:00
Julius Härtl
8d9fa73371
Properly handle result when copying with failure and throw in tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-05 16:57:51 +01:00
Daniel Kesselberg
d22ff8624b Limit getIncomplete query to one row
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-12-21 08:17:46 +00:00
Robin Appelman
694032c54c use in objectstore copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-12-07 16:07:21 +00:00
aler9
dc7eb53a8f Fix file size computation on 32bit platforms
Signed-off-by: aler9 <46489434+aler9@users.noreply.github.com>
2020-12-02 15:27:30 +00:00
Joas Schilling
97b0402984
Empty string is returned as null, but empty string in file cache is the root and exists
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-12 12:57:51 +01:00
Joas Schilling
19816fe85f Don't leave cursors open when tests fail
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 14:18:02 +00:00
Morris Jobke
73c2ad293b
Merge pull request #23998 from nextcloud/backport/23937/stable20
[stable20] Use query builder instead of OC_DB in OC\Files\*
2020-11-10 10:26:04 +01:00
Morris Jobke
bf6aa03eb3
Merge pull request #23995 from nextcloud/backport/23741/stable20
[stable20] Unlock when promoting to exclusive lock fails
2020-11-10 10:16:34 +01:00
Joas Schilling
adcc942553 Use query builder instead of OC_DB in OC\Files\*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 11:01:09 +00:00
John Molakvoæ (skjnldsv)
0c4297cee9 Make sure root storage is valid before checking its size
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-11-09 10:05:54 +00:00
Ashod Nakashian
7298d037b2 Unlock when promoting to exclusive lock fails
In certain cases changeLock to EXCLUSIVE fails
and throws LockedException. This leaves the
file locked as SHARED in file_put_contents,
which prevents retrying (because on second
call file_put_contents takes another SHARED
lock on the same file, and changeLock doesn't
allow more than a single SHARED lock to promote
to EXCLUSIVE).

To avoid this case, we catch the LockedException
and unlock before re-throwing.

Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2020-11-09 10:03:15 +00:00
Joas Schilling
c71cc6824e Use Query builder function
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-07 15:57:45 +00:00
Joas Schilling
d111e88d4c Fix order of GREATEST for Oracle
As per https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions060.htm
Oracle uses the first value to cast the rest or the values.
So when the first value is a plain int, instead of doing the math,
it will cast the expression to int and continue with a potential 0.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-07 15:57:44 +00:00
Morris Jobke
d144a84df1
Merge pull request #22903 from nextcloud/techdebt/16696/no-need-to-get-full-path-again
Do not fetch the normalized full path again if it is already available
2020-09-17 11:54:47 +02:00
Morris Jobke
063ac9d353
Do not fetch the normalized full path again if it is already available
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-17 09:56:45 +02:00
Roeland Jago Douma
b0c04a3e0c
Merge pull request #22867 from nextcloud/shared-storage-init-less
Shared storage optimizations
2020-09-17 08:55:35 +02:00
Morris Jobke
99c9423766
Remove @suppress SqlInjectionChecker
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-16 15:53:56 +02:00
Robin Appelman
cfde74442c
optimize View::getPath if we already know the storage id
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-09-16 13:49:07 +02:00
Robin Appelman
244fd6ae49
disable update checking for shared storages
update checking is already handled by the share source

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-09-15 16:42:40 +02:00
Roeland Jago Douma
6895d97cf0
Merge pull request #22520 from nextcloud/normalize-path-invalid-utf8
dont use `false` as cache key for non utf8 path in normalizePath
2020-09-09 21:52:36 +02:00
Roeland Jago Douma
bb06b6cce4
Fix reading empty files from objectstorage
Since we try to do range requests this will fail hard.
However since empty files are not that interesting to read anyways we
just read from an emptry memory stream.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-09-09 20:45:13 +02:00
Morris Jobke
cd563023db
Merge pull request #22657 from nextcloud/bugfix/noid/quota-trash-creation
Check if quota should be applied to path when creating directories
2020-09-09 17:37:28 +02:00
Morris Jobke
d8dea5070b
Merge pull request #22729 from nextcloud/fix/object_storage_permissions_shortcut
Run stat less often for objectstorages
2020-09-09 10:43:37 +02:00
Roeland Jago Douma
9fdeed8cc0
Run stat less often for objectstorages
When we want to get the permissions we now do stat at least 5 times for
each entry. Which is a bit much. Especially since the permssions are all
just in the database already.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-09-08 14:38:36 +02:00
Roeland Jago Douma
919a8d473b
Merge pull request #22646 from nextcloud/bugfix/mimetype-mapping
Fix detecting text/x-php mimetype and secure mimetype mapping
2020-09-08 10:41:09 +02:00
Julius Härtl
87e5fd0d2c
Check if quota should be applied to path when creating directories
This fixes an issue where the files_trashbin hierarchy of a user could
not been created as the mkdir operations were blocked by the quota
storage wrapper. Even with 0 quota, users should be able to have a
trashbin for external storages.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-08 07:33:57 +02:00
Julius Härtl
5e4303b1fe
Properly add both mimetypes to secure mimetype mapping
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-07 16:42:11 +02:00