Commit graph

180 commits

Author SHA1 Message Date
Joas Schilling
8fa692388b Allow specifying the compare-array for insertIfNotExists() 2015-03-09 22:37:49 +01:00
Thomas Müller
4e37831d85 Fix PHPDoc on the way .... 2015-03-06 14:54:57 +01:00
Thomas Müller
987b683895 Use an atomic implementation on sqlite for insertIfNotExist() 2015-03-06 14:54:54 +01:00
Joas Schilling
1761b162e6 Merge pull request #14660 from metaworx/replace-static-dbtableprefix-with-config-dbtableprefix
use `dbtableprefix` for temp table and index names
2015-03-03 16:43:47 +01:00
Thomas Müller
29ecbc8c6c Merge pull request #14496 from owncloud/kill-substr-mssql-master
[Master] Remove hacky Substring support for MSSQL
2015-03-03 11:00:13 +01:00
martin-rueegg
6be8ab65a5 replace 'oc_' with dbtableprefix form config for temporary table names and indexes 2015-03-03 01:54:15 +01:00
Morris Jobke
06aef4e8b1 Revert "Updating license headers"
This reverts commit 6a1a4880f0.
2015-02-26 11:37:37 +01:00
Lukas Reschke
afe087a371 Remove hacky Substring support for MSSQL
Substring() is not required for the core functionality and this allows us to get rid of a huge hack...
2015-02-25 14:00:54 +01:00
Bernhard Posselt
fd3663f563 Dont break code which relies on the cursor being open after insert/update/delete 2015-02-24 12:58:36 +01:00
Lukas Reschke
8bd3d55517 Merge pull request #14442 from owncloud/fix-oracle-ci-master
Close the cursor after the affected count has been extracted.
2015-02-24 09:20:59 +01:00
Thomas Müller
c350da1a28 Merge pull request #14119 from owncloud/dbal251
Update doctrine/dbal to 2.5.1 #13537
2015-02-23 20:59:51 +01:00
Thomas Müller
5bdf42a925 Close the cursor after the affected count has been extracted. 2015-02-23 17:17:20 +01:00
Jenkins for ownCloud
6a1a4880f0 Updating license headers 2015-02-23 12:13:59 +01:00
Lukas Reschke
fcc5f5a4f4 Merge pull request #13777 from owncloud/close-cursor
Close cursor for appframework and manipulation queries if applicable
2015-02-20 20:15:22 +01:00
Victor Dubiniuk
090db867d5 Add mapping for a broken varchar type. Fixes #14247 2015-02-17 23:22:57 +03:00
Victor Dubiniuk
bdfc9b57bd Skip primary index if the table has one 2015-02-16 20:30:28 +01:00
Bernhard Posselt
37e8969d34 ignore cursorclosing 2015-01-29 19:16:28 +01:00
Thomas Müller
baefefbbc8 set MySQL autocommit on connection setup 2015-01-19 17:20:49 +01:00
Thomas Müller
1d2bef0a01 Use a special filter expression for Oracle to filter the prefix - fixes #13220 2015-01-12 16:28:11 +01:00
Thomas Müller
1f1643b35f Merge pull request #12995 from owncloud/tbelau666-master
Use Doctrines filter by table name
2015-01-09 14:17:14 +01:00
Robin Appelman
3356308594 Prevent leaking db connection info in the stacktrace 2015-01-06 16:54:41 +01:00
Morris Jobke
95374e1404 add default for dbtableprefix 2014-12-23 13:32:25 +01:00
Morris Jobke
dbc465de97 use injected config object and fix typos 2014-12-22 10:55:52 +01:00
Morris Jobke
de25084def inject \OCP\IConfig instance in migrator 2014-12-22 10:47:10 +01:00
tbelau666
ad8d55c327 Use Doctrines filter by table name
Doctrine's SchemaManager can filter table names by regular expression.
On this way it picks up only ownClouds's tables in a database.

by tbelau666
2014-12-22 10:45:32 +01:00
Morris Jobke
5383d83f9e Change support message to be more explicit about the enterprise edition 2014-12-20 11:57:15 +01:00
Arthur Schiwon
ec0f80fee9 Split mapping from Access and Helper classes into it's own. Fully test them, too.
remove unused methods

split mapping methods off from Access class

fix DB query handling

move 'clear mapping' methods from static helper to new mapping class

add tests

test directly with DB

finishing tests and fix return value from setDNbyUUID

add corresponding class for groups and make abstract test class neutral. helper tests is now obsolete as the tested functions were moved to the new mapper class.

add missing info to PHPDoc

add unmap method

fix namespaces

fix test inheritance

PHPDoc and a small code restructure for scrutinizer, no effective changes

PostgreSQL does not accept LIMIT in DELETE queries

phpdoc fixes, no code changes
2014-12-19 18:26:12 +01:00
Robin Appelman
6984fa8a19 Quote identifiers for oracle 2014-12-09 17:26:53 +01:00
Robin Appelman
778d8dbafd Add tableExists to public db api 2014-12-09 17:26:53 +01:00
Robin Appelman
8af3991d0c Add dropTable to IDBConnection 2014-12-09 17:26:53 +01:00
Morris Jobke
50c2a819a0 Extract interaction with config.php into SystemConfig
* introduce SystemConfig to avoid DI circle (used by database connection which is itself needed by AllConfig that itself contains the methods to access the config.php which then would need the database connection - did you get it? ;))
* use DI container and use that method in legacy code paths (for easier refactoring later)
* create and use getSystemConfig instead of query() in DI container
2014-12-08 22:29:42 +01:00
Thomas Müller
a6c088a1ef adding new config parameter for sqlite to specify the journal mode 2014-11-25 16:29:06 +01:00
Morris Jobke
8ae8eb4734 drop dependency of some commands on old config object 2014-11-20 15:03:16 +01:00
Lukas Reschke
0b9dffa828 Make declaration compatible
Fixes #12236
2014-11-17 18:30:17 +01:00
Arthur Schiwon
74ffda8261 do not output DB information, and do not set header 2014-11-14 17:43:22 +01:00
Arthur Schiwon
08205c63f9 errors are already logged 2014-11-14 16:59:54 +01:00
Arthur Schiwon
7ed678b04d eliminate OC_Template::printErrorPage in database classes, fixes #12182 2014-11-14 15:48:55 +01:00
Jörn Friedrich Dreyer
e16a58220d allow passing driver options, fixes #11718 2014-10-27 12:30:29 +01:00
Lukas Reschke
f901c5ff08 Fix PHPDoc and remove explicit type hint 2014-10-24 15:49:55 +02:00
Lukas Reschke
b3a04840b5 Add type hinting to functions
It's only reasonable to have proper type hinting here which might even help us to catch bugs.
2014-10-24 14:13:40 +02:00
Lukas Reschke
d060180140 Use function outside of loop
Otherwise the function is executed n times which is a lot of overhead
2014-10-24 12:27:53 +02:00
Thomas Müller
6c1871da06 Merge pull request #10985 from owncloud/db-cleanup
Cleanup database handling
2014-10-23 13:48:33 +02:00
Jörn Friedrich Dreyer
b7fa644a54 Merge pull request #9586 from owncloud/enhanced-sql-script-generation-oracle-master
Special treatment for Oracle
2014-10-22 14:54:42 +02:00
Robin Appelman
e6f6cdd19f Bit more cleanup 2014-10-22 12:29:53 +02:00
Robin Appelman
2ae6a0d96d Move creating the database connection to the server container 2014-10-22 12:29:53 +02:00
Robin Appelman
d4e929c37a Remove implicit prepared statement cache and get the connection from the server container in \OC_DB 2014-10-22 12:26:43 +02:00
Robin Appelman
72f99f5041 Remove \OC\DB\ConnectionWrapper, have \OC\DB\Connection implement \OCP\IDBConnection directly instead 2014-10-22 12:26:43 +02:00
Lukas Reschke
af335a39f1 Add PHPDoc about sanitization of "insertIfNotExist"
Let's document this potential pitfall properly.
2014-10-17 11:06:49 +02:00
Thomas Müller
f7097faf82 Special treatment for Oracle 2014-10-16 17:02:15 +02:00
Thomas Müller
7537d405e3 adding 'smallint unsigned' to type mapping for sqlite 2014-09-20 20:06:44 +02:00
Robin Appelman
a85f0ae2da Fix ILIKE without wildcards for oracle 2014-09-18 15:09:57 +02:00
Robin Appelman
67b1ec1faf Implement ILIKE for sqlite 2014-09-17 13:47:55 +02:00
Robin Appelman
60587e9dcd Make sqlite LIKE case sensitive on default 2014-09-17 13:47:33 +02:00
Thomas Müller
ca35d86c5a adding ILIKE to AdapterSQLSrv 2014-09-16 15:44:21 +02:00
Robin Appelman
1771bfc2f2 Introduce cross-db ILIKE 2014-09-16 15:32:34 +02:00
Thomas Müller
d824d03fe1 Disable database migrations for MSSQL - scripts have to be applied manually 2014-09-15 15:00:32 +02:00
Lukas Reschke
353155b516 Merge pull request #7323 from owncloud/Jonny007-MKD-master
Update adapter.php
2014-09-09 11:31:50 +02:00
Thomas Müller
b8b2ef8748 no statement caching for Oracle 2014-08-22 12:06:36 +02:00
Thomas Müller
58472a2660 migration test for sqlite - adding type mapping for 'tinyint unsigned' 2014-07-29 09:18:37 +02:00
Thomas Müller
c87f425fe7 generate copy of sqlite database file in data directory 2014-07-28 10:29:39 +02:00
Thomas Müller
7d60f7a222 register type mappings for unknown/unsupported mysql types 2014-07-24 12:17:26 +02:00
Thomas Müller
363ba04f5e only commit in case a transaction is active 2014-07-23 20:13:19 +02:00
Andreas Fischer
d8bd8c4b66 Document why we have to check with defined() first. 2014-07-16 15:13:35 +02:00
Andreas Fischer
e26612244a Make MySQL return "number of found rows" instead of number of "affected rows". 2014-07-16 14:35:47 +02:00
Vincent Petry
10a29556b0 - Added test to trigger index id error
- re-enable encryption migration tests
- sqlite requires reconnect after schema changes
2014-07-14 16:20:09 +02:00
Robin Appelman
76c709d7de Add repair step to set MySQL collation to utf8_bin
Set default collation of mysql connection to utf8_bin
Set utf_bin as default collation for new tables
2014-07-08 15:12:07 +02:00
Robin Appelman
c4fa07d7cf Also update sqliteadapter 2014-07-02 15:27:27 +02:00
Jonny007-MKD
4161fd2408 Update adapter.php
Modified insertIfNotExist() to support NULL values
2014-07-01 17:47:27 +02:00
Vincent Petry
b752aff51d Fix migrator tests to use the correct migrator instances 2014-07-01 12:54:35 +02:00
Joas Schilling
0c711e1cfa Use get random bytes as uniqeid() is not unique in some cases
Fix #9161
2014-06-30 11:10:10 +02:00
Vincent Petry
7aa11b4361 Do not rename primary key index when renaming table
When the migrator renames a table, for example for upgrade simulation,
it should not rename the primary key to avoid messing up with the diff
because the MySQL Doctrine code expects that index to always be called
"primary".
2014-06-17 15:23:18 +02:00
Thomas Müller
fe8bae31dc adding PK to table encryption
adding auto increment/PK to table files_trash

adding PK to table ldap_user_mapping and ldap_group_members

adding PK to table ldap_group_mapping

truncate permissions table to allow smooth creation of primary key

adding unit test for creating an auto increment column on a table which already contains data

remove unneeded table files_trashsizes

fix unit test

no need to truncate *PREFIX*permissions

On Oracle adding auto increment columns is not working out of the box - Oracle migrations are to be done manually
2014-06-06 13:33:56 +02:00
Vincent Petry
d4ffafe467 Removed simulate db update flag and split into separate methods 2014-06-04 18:17:46 +02:00
Vincent Petry
5b97369b00 Simulate apps database schema update on upgrade
When upgrade, also simulate the database schema update for apps before
doing the actual upgrade.
2014-06-04 17:16:44 +02:00
icewind1991
68b15f3282 Merge pull request #7015 from owncloud/db-migration-check-copy
Check database migration on a copy of the table first
2014-06-03 16:27:06 +02:00
Thomas Müller
2b1a7a76c3 Merge pull request #8425 from owncloud/columns_should_be_nullable_by_default
columns should be nullable by default
2014-06-03 12:55:42 +02:00
Robin Appelman
4429b54ce4 Fix typo 2014-06-03 12:00:39 +02:00
Robin Appelman
82b982a4eb Better unique names for temporary tables 2014-06-03 11:24:31 +02:00
Robin Appelman
3be2643168 Add generateChangeScript() back 2014-06-03 11:19:58 +02:00
Robin Appelman
397a763c49 add a getter for the table 2014-06-03 11:18:46 +02:00
Robin Appelman
c6053b2830 Quote identifiers on mysql 2014-06-03 11:18:45 +02:00
Robin Appelman
6f71419f2b Skip migration checks for all sql backends besides mysql, postgres and sqlite 2014-06-03 11:18:45 +02:00
Robin Appelman
a59f6818eb Only quote identifiers for oracle during migration 2014-06-03 11:18:45 +02:00
Robin Appelman
3b4555ca91 Try and check migration before applying it 2014-06-03 11:18:17 +02:00
Robin Appelman
adeac7aa39 Check sqlite migration on a copy of the database file 2014-06-03 11:17:21 +02:00
Robin Appelman
35550e8d9a Fix migrator for postgres 2014-06-03 11:17:21 +02:00
Robin Appelman
be80dce585 Fix temporary schema creation 2014-06-03 11:17:21 +02:00
Robin Appelman
58c61c8336 Fix generating migration test schemas 2014-06-03 11:17:21 +02:00
Robin Appelman
0035147be9 Create unique names for temporary indexes 2014-06-03 11:17:21 +02:00
Robin Appelman
9c6a93a87c Add a mechanism to try the database migration on a copy of the tables before running it on the "real" data 2014-06-03 11:17:21 +02:00
Thomas Müller
999f6216dc - fix dropTable() and introduce tableExists()
- kill replaceDB() - this function is unused and it's implementation obviously wrong
- add method annotation OC_DB_StatementWrapper::fetchAll
- remove duplicate code in Test_DBSchema and reuse OC_DB::tableExists
- remove unused variables
2014-05-30 23:34:42 +02:00
Thomas Müller
b6d2d6329d Merge pull request #8639 from owncloud/drop-brief
Remove all occurences of @brief and @returns from PHPDoc
2014-05-19 20:18:32 +02:00
Morris Jobke
dc36d30953 Remove all occurences of @brief and @returns from PHPDoc
* test case added to avoid adding them later
2014-05-19 17:50:53 +02:00
Frank Karlitschek
090d127050 Merge pull request #6457 from owncloud/db-convert-tool
Command line tool to convert current database to others, except sqlite
2014-05-19 16:41:31 +01:00
Robin McCorkell
87b548ed91 Fix all PHPDoc types and variable names, in /lib 2014-05-13 19:08:14 +01:00
Robin McCorkell
a7ae2e874a Squash 'a | b' into 'a|b', in /lib 2014-05-13 19:08:14 +01:00
Thomas Müller
8314e5f4d1 fixing typos and adding PHPDoc 2014-05-12 21:58:09 +02:00
Jörn Friedrich Dreyer
6694129cbc columns should be nullable by default 2014-05-01 23:03:45 +02:00
Andreas Fischer
714343cd74 Add Bart to PgSqlTools copyright. 2014-04-15 16:29:43 +02:00
Andreas Fischer
9cc41a2460 Move PostgreSQL sequence resynchronisation out into PgSqlTools class. 2014-04-14 18:37:47 +02:00