Split DBStructure & View to avoid DB-calls and dependencies for basic operations

- new "Definition" classes vor DB and Views
- new "Writer" classes to create SQL definitions for DB and Views
- DBStructure & View are responsible to execute DB-querys
This commit is contained in:
Philipp Holzer 2022-07-12 23:21:16 +02:00
commit a910fd8864
Signed by: nupplaPhil
GPG key ID: 24A7501396EB5432
30 changed files with 898 additions and 608 deletions

View file

@ -43,6 +43,8 @@ use Friendica\Core\Lock;
use Friendica\Core\Session\Capability\IHandleSessions;
use Friendica\Core\Storage\Repository\StorageManager;
use Friendica\Database\Database;
use Friendica\Database\Definition\DbaDefinition;
use Friendica\Database\Definition\ViewDefinition;
use Friendica\Factory;
use Friendica\Core\Storage\Capability\ICanWriteToStorage;
use Friendica\Model\User\Cookie;
@ -106,6 +108,22 @@ return [
['create', [], Dice::CHAIN_CALL],
]
],
DbaDefinition::class => [
'constructParams' => [
[Dice::INSTANCE => '$basepath'],
],
'call' => [
['load', [false], Dice::CHAIN_CALL],
],
],
ViewDefinition::class => [
'constructParams' => [
[Dice::INSTANCE => '$basepath'],
],
'call' => [
['load', [false], Dice::CHAIN_CALL],
],
],
Database::class => [
'constructParams' => [
[Dice::INSTANCE => \Psr\Log\NullLogger::class],