Commit graph

132 commits

Author SHA1 Message Date
Michael 516018861e Merge remote-tracking branch 'upstream/develop' into error-handling 2021-10-31 05:25:39 +00:00
Michael 4236a9a105 Improved http error handling 2021-10-29 23:21:07 +00:00
Philipp Holzer b216317477
Refactoring Core class structures ... 2021-10-26 22:11:09 +02:00
Philipp Holzer ab83d0dd27
Restructure (P)Config to follow new paradigm 2021-10-26 22:11:06 +02:00
Hypolite Petovan 24734b05fe Cast object parameters to string in Database\Database
- This makes string casting in Depository->save unnecessary
2021-10-03 15:35:47 -04:00
Michael Vogel 3d97149007
Merge pull request #10722 from MrPetovan/task/refactor-notifications
Move notify, notifications and introduction notifications to new paradigm
2021-10-03 14:13:28 +02:00
Michael 9961943b73 Code Style: Replace "AS" with "as" 2021-10-03 10:34:41 +00:00
Hypolite Petovan dae5703e5c Improve accuracy of accepted parameter types in phpDoc of Database->fetch
- Suppresses an unwarranted type error raised by static analyzers
2021-10-02 18:15:43 -04:00
Philipp Holzer c00da77c67
Add feedback 2021-09-18 12:55:17 +02:00
Philipp Holzer 6893e2c3f7
Add feedback / revert fix for $item['post-type'] 2021-09-18 12:51:09 +02:00
Philipp Holzer 462f76352e
Add feedback :-) 2021-09-18 12:51:09 +02:00
Philipp Holzer 89a085a12c
Check DBA::count() result 2021-09-18 12:51:08 +02:00
Hypolite Petovan 7ee88c3457 Improve documentation of $old_fields possible values in DBA::update and Database->update 2021-09-05 14:54:50 -04:00
Michael c89533a70b Support for stacked profiler analysis 2021-07-27 04:57:29 +00:00
Balázs Úr 054c301ef0 Update copyright 2021-03-29 08:40:20 +02:00
Michael 99a145f7cf Fixes several database errors, removes "relation" handling 2021-02-25 05:13:49 +00:00
Michael 10f7280bbc Fetch a given number of posts 2021-02-21 07:46:58 +00:00
Michael 8f27715d8b "item" is replaced whenever possible at the moment 2021-02-06 13:42:21 +00:00
Michael 4157db5473 "item" is replaced by "post-view" / postupdate check added 2021-01-17 20:32:13 +00:00
Michael d755bbae8f Remove unneeded configutation 2020-12-20 08:56:32 +00:00
Hypolite Petovan 99b200868b Normalize return value in Database->fetch
- Address https://github.com/friendica/friendica/issues/9250#issuecomment-741857058
2020-12-10 06:12:10 -05:00
Michael bd9f36622e Cast field data when ATTR_EMULATE_PREPARES is enabled 2020-11-27 11:24:31 +00:00
Michael 303aaa00ca Mode switch for insert 2020-11-19 19:34:48 +00:00
Michael eb8caaa5e7 Restore the connection check 2020-11-07 11:44:39 +00:00
Michael 8906615b2c Test if PDO doesn't work on the tests 2020-11-07 10:27:22 +00:00
Michael 84924d1c05 Test the tes 2020-11-07 10:12:31 +00:00
Michael d6a1a836f1 Simplified connection test 2020-11-07 09:58:20 +00:00
Michael 3a5cdecb62 New function to fetch the database driver 2020-11-07 09:02:02 +00:00
Michael f405336680 Avoid duplicate item entries 2020-10-23 19:10:17 +00:00
Philipp Holzer d55ecb9288
Fix a lot of notices/warnings/deprecation notes in the test directory 2020-10-18 20:52:27 +02:00
Philipp 2a464a156f
Update src/Database/Database.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2020-10-06 20:55:36 +02:00
Philipp Holzer d39ee428f0
Introduce "static/env.config.php" for environment variable mapping to config cache entries
- Added new database.port config value (used for MYSQL_PORT)
- Removed now obsolete db environment variable functionality
- Added functionality to load env variables (overwrites DB based cached)
2020-10-06 20:43:29 +02:00
Philipp Holzer 3587e89482
Introduce a "DatabaseException" class for fatal exceptions (used in testmode to throw an exception in case of DB errors) 2020-10-06 20:03:38 +02:00
Michael 44ee4a54b4 Replace "insert" with "replace" 2020-08-27 21:35:08 +00:00
Michael dfea3ee3d6 Configuration if the database is opened with persistent connections 2020-08-27 10:59:14 +00:00
Michael Vogel e715458005
Update src/Database/Database.php
Co-authored-by: Hypolite Petovan <hypolite@mrpetovan.com>
2020-08-26 22:45:00 +02:00
Michael 212e06b87b Added support for the "replace" database command 2020-08-26 20:16:57 +00:00
Philipp Holzer 16591077ac
Fix Database $_SERVER usage and remove old .travis files 2020-08-19 14:20:07 +02:00
Hypolite Petovan afb882048e Generate callstack value from inside Profiler::saveTimestamp
- Save a massive amount of time computing callstacks when profiling is disabled
2020-07-27 02:33:05 -04:00
Michael Vogel 9f1d1db1ee Database performance updates 2020-07-18 17:49:10 +02:00
Hypolite Petovan d5acd5f96a Add expected support for sort strings in select() parameters
- Fix unexpected behaviors with calls already using the sort strings
2020-07-01 22:54:14 -04:00
Hypolite Petovan 5cf5869b04 Add type hint to Database::insert
- Will escalate warning to fatal error in https://github.com/friendica/friendica/issues/8474#issuecomment-646802016
2020-06-24 09:36:34 -04:00
Hypolite Petovan 8eeb7807d3 Replace remaining instances with "allowlist", "denylist" and "blocklist" 2020-06-07 11:24:56 -04:00
Hypolite Petovan 530ff51898 Rename system config value to db_log_index_denylist 2020-06-07 11:24:56 -04:00
Hypolite Petovan 90b1355555
Merge pull request #8649 from annando/annando/issue8550
Issue 8550: New experimental database configurations
2020-05-17 09:11:30 -04:00
Michael 7ace1049bb Issue 8572: Ensure to log database errors 2020-05-17 10:56:19 +00:00
Michael 4d4678ceb6 New experimental database configurations 2020-05-17 09:03:56 +00:00
Michael ec3290da3b We already have got a function to check if a table exists 2020-05-15 18:32:53 +00:00
Michael e333f45d0f Ensure that the initial values are set 2020-05-15 17:49:07 +00:00
Michael 89b47afb09 Testmode added 2020-05-15 15:41:50 +00:00
Michael d71c3e0812 Activate test mode for database 2020-05-15 15:05:17 +00:00
Michael Vogel e1d21e736a
Update src/Database/Database.php
Co-Authored-By: Hypolite Petovan <hypolite@mrpetovan.com>
2020-04-29 19:13:23 +02:00
Michael 6487daa4a9 Issue 8550: Check for a good table_definition cache value 2020-04-29 06:28:06 +00:00
Michael fd752be114 Issue 8546: Added option to not use prepared statements 2020-04-28 05:40:23 +00:00
Hypolite Petovan f047944b2d Switch all item deletion logging to info level 2020-03-04 15:59:19 -05:00
Hypolite Petovan b4597a643d Add callstack context to cascade deletion debug logging 2020-03-04 10:30:55 -05:00
nupplaPhil 23c64b9a11
Add license info at Friendica classes 2020-02-09 15:45:36 +01:00
Hypolite Petovan 559879f41f Enable Model lazy updating based on only the changed data
- Simplify update decision in Database
2020-01-20 07:32:48 -05:00
Philipp Holzer d5a473abda
Shorten "PConfiguration" to "PConfig" again, since the Wrapper is gone 2020-01-19 22:23:44 +01:00
Michael 572a3f1180 And the rest of the new lines 2020-01-19 09:55:28 +00:00
Michael 0a4119adaf @brief is removed completely 2020-01-19 06:05:23 +00:00
Hypolite Petovan ef6e9ef26b Add DBA::collapseCondition method
- Update Database->update for use with DBA::collapseCondition
2020-01-06 20:48:26 -05:00
Hypolite Petovan fd5b2d6af2 Fix wrong type-hints for table parameter in Database->selectToArray and DBA::selectToArray 2019-12-16 08:49:01 -05:00
Hypolite Petovan 185f1fc687
Merge pull request #7636 from annando/manage
Restructured "manage" functionality, added count parameters
2019-09-30 11:12:46 -04:00
Philipp Holzer d5dd12b8f8
Add Drone CI
- Add drone test environment
- Add drone config
- apt phpunit
- Fix api.php
- Fix item.php
- Fix DBStructure
- Check if caching is possible during tests
2019-09-30 14:03:12 +02:00
Michael d41399496e Merge remote-tracking branch 'upstream/develop' into manage 2019-09-30 06:30:13 +00:00
Philipp Holzer ca36ea17f9
Fix Auto-Installer 2019-09-23 12:51:07 +02:00
Michael 8237d35a87 Restructured "manage" functionality, added count parameters 2019-09-17 04:05:26 +00:00
Philipp Holzer 4b4dbd38d9
Fixing PHP Fatal Error for Database-Reconnects with PDO 2019-08-28 01:40:34 +02:00
Hypolite Petovan 0e0fff3324 Correctly escape identifier names
- Add support for schema, multiple tables in $table parameters
- Remove Database->formatTableName method
2019-07-29 00:23:40 -04:00
Hypolite Petovan a61ce4fed0 Ensure *toArray returns an array 2019-07-28 00:03:42 -04:00
Philipp Holzer 37d03bbeae
Introduce test optimization
- Add static connection for whole tests
- Introduce ExtendedPDO class to enable nested transactions
- Add rollback logic for tests to ensure reliability and increase speed
2019-07-27 23:54:13 +02:00
Philipp Holzer 6c2cf494b5
Remove DependencyFactory
- Include all necessary classes in `dependencies.config.php`
- Add DI-reference to BaseObject (acts as a global registry)
- Refactor all static "init()" methods to use the global registry

- Refactor Logging for Worker-Logger a little bit
2019-07-27 23:54:12 +02:00
Michael 5d9472dccf Type hints 2019-07-27 17:00:06 +00:00
Michael 555c444b4e Moved function to Database.php 2019-07-27 16:08:48 +00:00
Philipp Holzer 7aa9917ca8
Fix DB_UPDATE_VERSION constant 2019-07-21 14:34:42 +02:00
Philipp Holzer a8e6a57e9b
Fixing installer 2019-07-21 14:21:02 +02:00
Philipp Holzer 55999730e0
Introduce DICE
- Adding dice library
- Adding dependency config

- Removing Factories
- Refactoring App\Mode constructor
- Refactoring App\Router constructor
- Refactoring BasePath for DI usage
- Refactoring ConfigFileLoader constructor
- Refactoring Profiler constructor

- Adjust entrypoints (index, console, worker, ..)

- Adding functional test for DI
- Fix tests because of refactorings
2019-07-21 01:22:10 +02:00
Philipp Holzer 4913502922
bugfix: add lost changes due merge 2019-07-14 22:12:45 +02:00
Philipp Holzer c82127ffb7
Splitting ConfigCache & PConfigCache
- Remove IConfigCache & IPConfigCache
- Add new PConfigCache
- Add missing Logger::init() (bugfixing tests)
2019-07-12 22:53:37 +02:00
Philipp Holzer 91c295b55f
Rebase type-hint based on af9ce6b92a 2019-06-24 09:36:07 +02:00
Philipp Holzer 082634adbc
Moving from DBA to Database 2019-06-24 09:36:07 +02:00