QueryBuilder::delete()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
ccs 2
cts 2
cp 1
crap 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace QB\Generic\QueryBuilder;
6
7
use QB\Generic\Clause\IColumn;
8
use QB\Generic\Clause\Table;
9
use QB\Generic\Statement\Delete;
10
use QB\Generic\Statement\IDelete;
11
use QB\Generic\Statement\IInsert;
12
use QB\Generic\Statement\Insert;
13
use QB\Generic\Statement\ISelect;
14
use QB\Generic\Statement\ITruncate;
15
use QB\Generic\Statement\IUpdate;
16
use QB\Generic\Statement\Select;
17
use QB\Generic\Statement\Truncate;
18
use QB\Generic\Statement\Update;
19
20
class QueryBuilder implements IQueryBuilder
21
{
22
    /**
23
     * @return ISelect
24
     */
25 1
    public function select(IColumn|string ...$columns): ISelect
26
    {
27 1
        return new Select(...$columns);
28
    }
29
30
    /**
31
     * @return IInsert
32
     */
33 1
    public function insert(): IInsert
34
    {
35 1
        return new Insert();
36
    }
37
38
    /**
39
     * @param Table|string ...$tables
40
     *
41
     * @return IUpdate
42
     */
43 2
    public function update(Table|string ...$tables): IUpdate
44
    {
45 2
        return new Update(...$tables);
46
    }
47
48
    /**
49
     * @return IDelete
50
     */
51 2
    public function delete(): IDelete
52
    {
53 2
        return new Delete();
54
    }
55
56
    /**
57
     * @return ITruncate
58
     */
59 3
    public function truncate(): ITruncate
60
    {
61 3
        return new Truncate();
62
    }
63
}
64