Commit graph

91 commits

Author SHA1 Message Date
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
Robin Appelman
3355fd549f
dont double escape
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:14:59 +02:00
Robin Appelman
4125bdeb93
fix licence headers
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:14:52 +02:00
Robin Appelman
4279b13270
Add function builder to the query builder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:09:26 +02:00
Robin Appelman
a65652fc1e
add support for escaping like parameters when using the query builder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:09:22 +02:00
Robin Appelman
83f3990e06
Add MD5() to sqlite
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:09:19 +02:00
Morris Jobke
3329f44a76
Address comments
* fix URL to documentation
* improve logic of UTF8mb4 check
* fix connection parameter creation - it's done already in ConnectionFactory::createConnectionParams
* remove unused attributes of MDB2SchemaReader

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-21 16:42:42 -06:00
Morris Jobke
713f684a8b
Adding tests for 4 byte unicode characters
* success on SQLite and Postgres
* failure on MySQL due to the limited charset that only supports up to 3 bytes

Add config option to update charset of mysql to utf8mb4

* fully optional
* requires additional options set in the database

only disable unicode test on mysql

Fixing ctor call

Adding docker based unit test execution for mysql utf8mb4

Add mysqlmb4 test configuration to Jenkinsfile

fix collation on utf8mb4

Properly setup charset and collation in the doctrine connection

Allow files containing 4-byte chars in case the database supports it

During setup of a mysql database we try to detect if charset 'utf8mb4' can be used

Fix mysql settings

Add console command to migrate the charset

Set ROW_FORMAT before setting collation to mb4

Also select tables with wrong collation

Faster MySQL docker

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-21 16:42:12 -06:00
Morris Jobke
edd55b0ea9
Use SystemConfig instead of AllConfig for DB stuff
* preparation for followup PRs to clean up the DB bootstrapping

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-19 15:53:49 -06:00
Morris Jobke
d99ce3971b
Namespace and array syntax fixes
* minor fixes in preparation of a bigger DB and config PR

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-19 14:52:54 -06:00
Philipp Schaffrath
2ccf544ad7
Fixed failing test which was ignoring a required (not null) column (#26303)
* Fixed failing test which was ignoring a required (not null) column

* restored test to original, catching DriverException which also catches ConstraintViolationException

* catch ConstraintViolationException again

* removed unnecessary field from this test

* clobfield should be nullable

* clobfield now is nullable

* removed autoincrement since whenever this strategy is enabled, oracle would not throw constraint violation exceptions (needed for setValues), which mysql still does

* this field does not auto increment anymore

* mark integerfield as primary, since it is not getting marked as such through auto increment anymore,
integerfield default always has been 0 instead of null

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-17 00:09:07 -06:00
Joas Schilling
4128a08333
Add bitwise AND and OR to the expression builder
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-05 14:30:25 +01:00
Robin Appelman
07e51a719a
Allow aliasing columns when using the query builder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-17 18:48:35 +01:00
Roeland Jago Douma
f07d75a4dd
@since 9.2.0 to @since 11.0.0
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-15 18:51:52 +01:00
Joas Schilling
2c4035e806
Inject config and logger
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-02 20:30:37 +01:00
Joas Schilling
cd13f50a3f
Log the queries of the QueryBuilder as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-02 20:30:36 +01:00
Robin Appelman
3a8e75a814
Allow 4byte unicode filenames on supported platforms
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-10-20 14:26:09 +02:00
Joas Schilling
64c9ef96c4
Fix like queries in the QueryBuilder
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-10-19 00:15:01 +02:00
Joas Schilling
9356a0e583
Correctly save and pass on the charset
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-10-19 00:15:01 +02:00
Thomas Müller
a7245ea082
Fixing ctor call 2016-10-19 00:15:01 +02:00
Morris Jobke
cc28f82b36
Add config option to update charset of mysql to utf8mb4
* fully optional
* requires additional options set in the database
2016-10-19 00:15:01 +02:00
Vincent Petry
da0cea404d
Kill update simulation
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-27 18:43:53 +02:00
Joas Schilling
0215b004da
Update with robin 2016-07-21 18:13:58 +02:00
Joas Schilling
ba87db3fcc
Fix others 2016-07-21 18:13:57 +02:00
Thomas Müller
b55ab6d22a Various database migration fixes (#25209)
* String columns with a length higher then 4000 are converted into a CLOB columns automagically - we have to respect this when migrating

* Adding schema migration tests to prevent unnecessary and non-sense migration steps
Fix Oracle autoincrement and unsigned handling

* Fix sqlite integer type for autoincrement

* Use lower case table names - fixes pg

* Fix postgres with default -1 - this only affect pg 9.4 servers - 9.5 seems to work fine
2016-06-29 14:54:41 +02:00
Jörn Friedrich Dreyer
c668588e17 map oracle driver options to params (#23938) 2016-06-10 14:07:31 +02:00
Lukas Reschke
aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Victor Dubiniuk
01aedbe506 Speedup schema cloning for MySQL 2016-05-23 20:52:40 +03:00
Joas Schilling
7e3ce83526
Add a method to lock a table 2016-05-21 01:59:03 +02:00
Roeland Jago Douma
893204ef4a
Fix broken exception naming 2016-05-19 10:05:53 +02:00
Robin Appelman
dbfdc6282a
do propagation in a single query 2016-04-25 16:18:59 +02:00
Roeland Jago Douma
d09f835dca
Move \OC\DB to PSR-4
Besides the statement wrapper that is moved to the legacy folder
(namepsace of shame folder)
2016-04-15 19:46:34 +02:00