Code Duplication    Length = 22-22 lines in 2 locations

src/Query/Grammar.php 2 locations

@@ 86-107 (lines=22) @@
83
    /**
84
     * {@inheritdoc}
85
     */
86
    public function compileInsert(Builder $query, array $values)
87
    {
88
        // keyspace-ref:
89
        $table = $this->wrapTable($query->from);
90
        // use-keys-clause:
91
        $keyClause = $this->wrapKey($query->key);
92
        // returning-clause
93
        $returning = implode(', ', $query->returning);
94
95
        if (!is_array(reset($values))) {
96
            $values = [$values];
97
        }
98
        $parameters = [];
99
100
        foreach ($values as $record) {
101
            $parameters[] = '('.$this->parameterize($record).')';
102
        }
103
        $parameters = (!$keyClause) ? implode(', ', $parameters) : "({$keyClause}, \$parameters)";
104
        $keyValue = (!$keyClause) ? null : '(KEY, VALUE)';
105
106
        return "insert into {$table} {$keyValue} values $parameters RETURNING {$returning}";
107
    }
108
109
    /**
110
     * {@inheritdoc}
@@ 133-154 (lines=22) @@
130
     *
131
     * @return string
132
     */
133
    public function compileUpsert(QueryBuilder $query, array $values)
134
    {
135
        // keyspace-ref:
136
        $table = $this->wrapTable($query->from);
137
        // use-keys-clause:
138
        $keyClause = $this->wrapKey($query->key);
139
        // returning-clause
140
        $returning = implode(', ', $query->returning);
141
142
        if (!is_array(reset($values))) {
143
            $values = [$values];
144
        }
145
        $parameters = [];
146
147
        foreach ($values as $record) {
148
            $parameters[] = '('.$this->parameterize($record).')';
149
        }
150
        $parameters = (!$keyClause) ? implode(', ', $parameters) : "({$keyClause}, \$parameters)";
151
        $keyValue = (!$keyClause) ? null : '(KEY, VALUE)';
152
153
        return "UPSERT INTO {$table} {$keyValue} VALUES $parameters RETURNING {$returning}";
154
    }
155
}
156