summaryrefslogtreecommitdiffstats
path: root/vendor/ipl/sql/src/Contract/Quoter.php
blob: 79c4c78580e68d96e23d6fdf3ae14d4cf3a66d75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

namespace ipl\Sql\Contract;

interface Quoter
{
    /**
     * Quote an identifier so that it can be safely used as table or column name, even if it is a reserved name
     *
     * If a string is passed that contains dots, the parts separated by them are quoted individually.
     * (e.g. `myschema.mytable` turns into `"myschema"."mytable"`) If an array is passed, the entries
     * are quoted as-is. (e.g. `[myschema.my, table]` turns into `"myschema.my"."table"`)
     *
     * The quote character depends on the underlying database adapter that is being used.
     *
     * @param string|string[] $identifiers
     *
     * @return string
     */
    public function quoteIdentifier($identifiers);
}