It seems like assigned() must be provided by classes using this trait. How about adding it as abstract method to this trait?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the ignore-call annotation
The method release() does not exist on Carno\Database\Contracts\Transaction. It seems like you code against a sub-type of Carno\Database\Contracts\Transaction such as Carno\Database\Connectors\MySQL.
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the ignore-call annotation
The method release() does not exist on Carno\Database\Contracts\Executable. It seems like you code against a sub-type of Carno\Database\Contracts\Executable such as Carno\Database\Connectors\MySQL.
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the ignore-call annotation
44
$link->/** @scrutinizer ignore-call */
45
release();
Loading history...
45
});
46
47
// automatic release after rollback
48
$rollback->then(static function () use ($link) {
49
$link->release();
50
});
51
52
// create session for transaction
53
$session = new TransEXE($link, $start, $commit, $rollback);
It seems like $link can also be of type Carno\Database\Contracts\Executable and Carno\Pool\Poolable; however, parameter $link of Carno\Database\Programs\Transaction::__construct() does only seem to accept Carno\Database\Contracts\Transaction, maybe add an additional type check?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the ignore-type annotation