Commit Graph

182 Commits

Author SHA1 Message Date
Joas Schilling d1511cdbee Fix doc blocks of insertIfNotExists() method 2015-03-11 09:05:30 +01:00
Thomas Müller 89be55a672 let insertIfNotExist() throw the native DBALException - no need to hide the real exception 2015-03-09 22:37:49 +01:00
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