Robin Appelman
ac209cea52
add count() as shortcut for count('*') in FunctionBuilder
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 11:30:32 +01:00
Robin Appelman
0e9feeb090
return from QueryBuilder instead of IQueryBuilder
...
this make the type hints work properly with querybuilder subclasses
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 11:30:27 +01:00
Robin Appelman
8ef5a366ec
add MAX and MIN to functionbuilder
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-09-06 12:28:17 +02:00
Arthur Schiwon
d0409548c6
instead of upsert, fallback to default query on PgSQL <= 9.4
...
because there is no upsert yet
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-08-14 09:05:11 +02:00
Christoph Wurst
3174012adf
Add event dispatcher to OCP
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-06-25 10:02:27 +02:00
Roeland Jago Douma
d11caf1a3a
No need for platform hacks anymore
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-05-14 12:24:43 +02:00
Joas Schilling
b3e6cbc4c5
Remove the custom prefix from the table name length when checking on the default primary index
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-04-30 12:08:52 +02:00
Joas Schilling
f906913177
Allow to use Subqueries in from
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-04-16 15:42:21 +02:00
Joas Schilling
f557e1e214
Indeces, columns and sequences don't have the table prefix
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-28 14:51:11 +01:00
Morris Jobke
f889beae7e
Fix PHPDoc
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-21 17:05:57 +01:00
Ole Ostergaard
0d778fcc4e
Code cleanup.
...
Signed-off-by: Ole Ostergaard <ole.c.ostergaard@gmail.com>
2019-03-21 11:42:00 +01:00
Ole Ostergaard
d62da82bf9
Add supression of SqlInjectionChecker.
...
Signed-off-by: Ole Ostergaard <ole.c.ostergaard@gmail.com>
2019-03-21 11:42:00 +01:00
Ole Ostergaard
c9b6487393
Add PostgreSQL specific implementation for includeIgnoreConflict.
...
Signed-off-by: Ole Ostergaard <ole.c.ostergaard@gmail.com>
2019-03-21 11:42:00 +01:00
Ole Ostergaard
a48ea8cffa
Add insertIgnoreConflict to Adapter and use it for for executing the file locking.
...
Signed-off-by: Ole Ostergaard <ole.c.ostergaard@gmail.com>
2019-03-21 11:42:00 +01:00
Robin Appelman
bfd539017f
add casting to string for postgresql query builder
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-03-14 14:19:10 +01:00
Joas Schilling
c09fa1ee65
Only check the Oracle schema conditions if the app supports it
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-12-17 13:52:08 +01:00
Joas Schilling
f265657bc6
Only check changed items
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-12-17 13:52:08 +01:00
Morris Jobke
fd8eeccb15
Merge pull request #11942 from nextcloud/techdebt/noid/use-count-function
...
Use the defined func()->count() instead of manual counting
2018-11-12 17:43:56 +01:00
Morris Jobke
5273639d0e
Add deprecation message ofr insertIfNotExist
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-09 12:13:30 +01:00
Morris Jobke
230e93f575
Catch UniqueConstraintViolationException inside insertIfNotExist
...
This is the most common case for the usage of this method.
See also https://github.com/nextcloud/server/issues/12369 and the linked tickets.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-09 10:38:20 +01:00
Joas Schilling
bb352fb667
Use the defined func()->count() instead of manual counting
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-08 15:44:45 +01:00
Daniel Kesselberg
0ee191bf44
Use const for dbname and dbtableprefix defaults
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-09-23 18:15:57 +02:00
Joas Schilling
f5c63d7a6e
Disable Oracle enforcement for now until the following issues are solved:
...
* Only apps should be checked which say they support oracle
* Only check newly added items, to allow forward migration from an existing database structure
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-06 17:34:40 +02:00
Joas Schilling
ef5074adaa
Fix primary key handling on postgres
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-27 14:45:22 +02:00
Joas Schilling
008c8dde1a
Ignore custom prefixes which are longer
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-27 14:45:22 +02:00
Joas Schilling
5e0bfe5c16
Ignore automatic generated sequences
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-27 14:45:21 +02:00
Joas Schilling
960961148e
Fix calculation of default name
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-27 14:45:21 +02:00
Joas Schilling
8a45cb1d20
Prevent too long identifier names
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-27 14:45:21 +02:00
Joas Schilling
891de38080
Only create the schema when moving between databases
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-19 15:32:36 +02:00
Joas Schilling
011fe9e0f9
MySQL 8.0+ and MariaDB 10.3+ are large prefix and barracuda by default
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-09 15:37:22 +02:00
Robin Appelman
3047ef31bd
Add count to function builder
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-06-14 14:32:22 +02:00
Morris Jobke
624d191ef6
Fix wrong hint about missing indexes
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-06-13 11:56:43 +02:00
Morris Jobke
393d9aae74
Add a hint that some indexes are not added yet
...
* gives the admin a chance to discover the missing indexes and improve the performance of the instance without digging through the manual
* nicely integrated in the setup checks where this kind of hints belong to
* also adds an option to integrate this from an app based on events
* fix style of setting warnings
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-06-06 16:55:01 +02:00
Morris Jobke
367b1be15c
Merge pull request #9425 from nextcloud/db-reconnect-timeout
...
Check connection status and attempt to reconnect each each minute
2018-06-04 10:40:12 +02:00
Robin Appelman
b40629ac8c
Add human readable description to migration steps
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-30 21:28:05 +02:00
Robin Appelman
335619f6a4
Check connection status and attempt to reconnect each each minute
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-08 19:25:58 +02:00
Joas Schilling
78ee3abb78
Move regex to a function and add tests
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-04-19 12:49:36 +02:00
Joas Schilling
8f7a0af951
Allow IPv6 database hosts
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-04-18 14:48:21 +02:00
Robin Appelman
89a9d35d90
dont keep shared database locks when running cli scripts
...
For cli scripts we don't have the assumption that the universe will be cleaned up soon
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-04-11 19:21:45 +02:00
Roeland Jago Douma
ab04f3cb19
Fix Array to String conversion in QueryBuilder
...
Fixes #9080
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-05 09:08:32 +02:00
Roeland Jago Douma
46c195b58b
Made IExpressionBuilder varadic
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 09:35:09 +01:00
Roeland Jago Douma
0009358c17
Made orHaving varadic
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 09:32:31 +01:00
Roeland Jago Douma
408c2103db
Made addHaving varadic
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 09:31:33 +01:00
Roeland Jago Douma
2c585afea1
Make having varadic
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 09:31:04 +01:00
Roeland Jago Douma
c6eba3c925
Made addGroupBy varadic
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 09:30:14 +01:00
Roeland Jago Douma
afbad7e15e
Made groupBy varadic
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 09:29:36 +01:00
Roeland Jago Douma
d6b93e6620
Made orWhere varadic
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 09:28:27 +01:00
Roeland Jago Douma
07cb6aaeff
Made andWhere varadic
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 09:27:43 +01:00
Roeland Jago Douma
222dbb7bc9
Made where varadic
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 09:27:11 +01:00
Roeland Jago Douma
2976b39102
Made AddSelect varadic
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 09:25:32 +01:00
Roeland Jago Douma
c8aee70a0b
Made select varadic
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 08:07:08 +01:00
Morris Jobke
de56915605
Merge pull request #7419 from Abijeet/feature-7175
...
Fixes #7175 - Allow to search for email address in user management
2018-03-06 21:53:37 +01:00
Morris Jobke
d3d045dd5c
Remove unused import statements
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-14 16:55:43 +01:00
Joas Schilling
352a48e273
Create the migrations table also with the UTF8mb4 collation
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-01-31 13:15:00 +01:00
Morris Jobke
eb51f06a3b
Use ::class statement instead of string
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-29 12:03:47 +01:00
Morris Jobke
a661f043e1
Remove unneeded semicolon and parentheses
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 23:46:40 +01:00
Morris Jobke
e6efa755c9
Use short for of substr to not need strlen()
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:23:48 +01:00
Morris Jobke
24c58d39f4
Merge pull request #7909 from nextcloud/fix-migration-type-hints
...
Fix the type hints of migrations and correctly inject the wrapped sch…
2018-01-17 13:47:58 +01:00
Joas Schilling
0d37d24b4b
Correctly drop the ownCloud migrations table
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-01-17 12:17:41 +01:00
Joas Schilling
4a5282ba21
Fix the type hints of migrations and correctly inject the wrapped schema into migrations
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-01-17 11:37:36 +01:00
Morris Jobke
1efde41333
Check if realpath() returns false
...
realpath() returns false in case the directory does not exist. Found it while preparing strict_typing for PHP7+.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-12 19:40:25 +01:00
Robin Appelman
42b3aa3a0a
reuse query builder
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-01-12 13:57:55 +01:00
Joas Schilling
7154050201
Drop the ownCloud migration table instead of reusing it
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-01-04 14:58:01 +01:00
Robin Appelman
aad01894e3
refactor user searching
...
add additional user searching tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-12-20 15:51:37 +01:00
Robin Appelman
da3004b8f5
add postgresql10 compatibility to dbal
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-11-22 17:57:17 +01:00
Morris Jobke
0eebff152a
Update license headers
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Victor Dubiniuk
9f16468789
Die NoCheckMigrator
2017-10-30 18:59:24 +01:00
Piotr Mrowczynski
6a51c1bc4f
Add foreign key support to OC
2017-10-30 18:57:19 +01:00
Jörn Friedrich Dreyer
d081a1a5ad
quote index columns on oracle, handle all index changes, minor phpdoc cleanup
2017-10-30 18:54:31 +01:00
Joas Schilling
a3bdb318e9
Fix bigint handling on postgres
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-29 11:10:57 +02:00
Joas Schilling
78412fda9c
Add a method to compare empty strings with an expression
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-02 09:50:41 +02:00
Joas Schilling
bb58667511
Fix ILIKE regex for oracle
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-02 09:48:16 +02:00
Joas Schilling
8ec6c1f259
Quote aliases as well
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-02 09:48:15 +02:00
Lukas Reschke
66b8208791
Function also accepts ints
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-01 08:20:16 +02:00
Joas Schilling
50912fb94f
Add brackets around concat statements so comparing the result works as intended
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-28 15:36:26 +02:00
Joas Schilling
41fca6c852
"Only variables must be passed by reference"
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:49:16 +02:00
Joas Schilling
10d7cbb71f
Use order by to avoid problems when chunking finds a same item again...
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-25 12:49:12 +02:00
Lukas Reschke
3d2600b039
Add Phan plugin to check for SQL injections
...
This adds a phan plugin which checks for SQL injections on code using our QueryBuilder, while it isn't perfect it should already catch most potential issues.
As always, static analysis will sometimes have false positives and this is also here the case. So in some cases the analyzer just doesn't know if something is potential user input or not, thus I had to add some `@suppress SqlInjectionChecker` in front of those potential injections.
The Phan plugin hasn't the most awesome code but it works and I also added a file with test cases.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-20 22:48:13 +02:00
Joas Schilling
0f275b1550
Only create the migration directory when necessary
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-06 09:58:39 +02:00
Joas Schilling
bbfc044ac5
Add migration for personal settings stuff
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 14:58:20 +02:00
Joas Schilling
0bff4f3f07
Fix the installer tests
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:02:16 +02:00
Joas Schilling
4e5cd1efea
Fix tests of CodeChecker and MigrationService
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:02:16 +02:00
Joas Schilling
fe6e8c2710
Fix dropping tables and handle the prefix automatically
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:02:16 +02:00
Joas Schilling
5d9d1b1cb5
Allow to check the schema in pre and post as well
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
817783e4c7
Add a version to migrations, so parallel legacy branches can also have migrations
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
df6b839b23
Add author and copyright
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
2875b79c61
Fix code issues
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
3969a6b1eb
Use autoloading instead of require_once from a different dir
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
194ef1a171
Adjust the code to use our interface and abstract
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Joas Schilling
15eec7b83c
Start migrations
...
Fixme:
- Install and update of apps
- No revert on live systems (debug only)
- Service adjustment to our interface
- Loading via autoloader
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-07-05 13:01:19 +02:00
Thomas Müller
43427e26d7
Add console command to migrate the charset
2017-04-28 09:35:36 +02:00
Piotr Mrówczyński
9fec4031b3
Adjust query/event logging code in favour of more complex owncloud/diagnostics ( #27643 )
...
* Adjust query/event logging code in favour of more complex owncloud/diagnostics
* Add descriptions to IQueryLogger and IEventLogger interfaces
2017-04-26 13:19:43 +02:00
Morris Jobke
c54a59d51e
Remove unused use statements
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Morris Jobke
a7da2ef977
Merge pull request #4282 from nextcloud/oci-connect-string
...
use the same oci connectstring in all code paths
2017-04-12 13:11:00 -05:00
Morris Jobke
124fdf8062
Merge pull request #4331 from nextcloud/query-builder-sum
...
Add sum() to the query function builder
2017-04-12 12:55:09 -05:00
Robin Appelman
ac45af68cd
Add sub() to the query function builder
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-12 16:09:35 +02:00
Morris Jobke
a045f3c4d7
Merge pull request #4146 from nextcloud/unread-comments-folder
...
Allow getting the unread comment count for an entire folder at once
2017-04-10 13:21:39 -05:00
Robin Appelman
421ca6439f
use the same oci connectstring in all code paths
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-10 17:58:52 +02:00
Robin Appelman
429f8ae011
Allow getting the unread comment count for an entire folder at once
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 12:48:24 +02:00
Robin Appelman
d4a7cfec7c
rename fun to func
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:15:06 +02:00