Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/HuasoFoundries/phpPgAdmin6.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/database/databasetraits/SequenceTrait.php')
-rw-r--r--src/database/databasetraits/SequenceTrait.php221
1 files changed, 155 insertions, 66 deletions
diff --git a/src/database/databasetraits/SequenceTrait.php b/src/database/databasetraits/SequenceTrait.php
index 14ceaeb6..47415d48 100644
--- a/src/database/databasetraits/SequenceTrait.php
+++ b/src/database/databasetraits/SequenceTrait.php
@@ -6,6 +6,8 @@
namespace PHPPgAdmin\Database\Traits;
+use ADORecordSet;
+
/**
* Common trait for sequence manipulation.
*/
@@ -16,7 +18,7 @@ trait SequenceTrait
*
* @param bool $all true to get all sequences of all schemas
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*/
public function getSequences($all = false)
{
@@ -31,11 +33,14 @@ trait SequenceTrait
} else {
$c_schema = $this->_schema;
$this->clean($c_schema);
- $sql = "SELECT c.relname AS seqname, u.usename AS seqowner, pg_catalog.obj_description(c.oid, 'pg_class') AS seqcomment,
+ $sql = \sprintf(
+ 'SELECT c.relname AS seqname, u.usename AS seqowner, pg_catalog.obj_description(c.oid, \'pg_class\') AS seqcomment,
(SELECT spcname FROM pg_catalog.pg_tablespace pt WHERE pt.oid=c.reltablespace) AS tablespace
FROM pg_catalog.pg_class c, pg_catalog.pg_user u, pg_catalog.pg_namespace n
WHERE c.relowner=u.usesysid AND c.relnamespace=n.oid
- AND c.relkind = 'S' AND n.nspname='{$c_schema}' ORDER BY seqname";
+ AND c.relkind = \'S\' AND n.nspname=\'%s\' ORDER BY seqname',
+ $c_schema
+ );
}
return $this->selectSet($sql);
@@ -46,7 +51,7 @@ trait SequenceTrait
*
* @param string $sequence Sequence name
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*/
public function nextvalSequence($sequence)
{
@@ -57,7 +62,11 @@ trait SequenceTrait
$this->fieldClean($sequence);
$this->clean($sequence);
- $sql = "SELECT pg_catalog.NEXTVAL('\"{$f_schema}\".\"{$sequence}\"')";
+ $sql = \sprintf(
+ 'SELECT pg_catalog.NEXTVAL(\'"%s"."%s"\')',
+ $f_schema,
+ $sequence
+ );
return $this->execute($sql);
}
@@ -68,7 +77,7 @@ trait SequenceTrait
* @param string $sequence Sequence name
* @param int $nextvalue The next value
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*/
public function setvalSequence($sequence, $nextvalue)
{
@@ -80,7 +89,12 @@ trait SequenceTrait
$this->clean($sequence);
$this->clean($nextvalue);
- $sql = "SELECT pg_catalog.SETVAL('\"{$f_schema}\".\"{$sequence}\"', '{$nextvalue}')";
+ $sql = \sprintf(
+ 'SELECT pg_catalog.SETVAL(\'"%s"."%s"\', \'%s\')',
+ $f_schema,
+ $sequence,
+ $nextvalue
+ );
return $this->execute($sql);
}
@@ -90,7 +104,7 @@ trait SequenceTrait
*
* @param string $sequence Sequence name
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*/
public function restartSequence($sequence)
{
@@ -98,7 +112,11 @@ trait SequenceTrait
$this->fieldClean($f_schema);
$this->fieldClean($sequence);
- $sql = "ALTER SEQUENCE \"{$f_schema}\".\"{$sequence}\" RESTART;";
+ $sql = \sprintf(
+ 'ALTER SEQUENCE "%s"."%s" RESTART;',
+ $f_schema,
+ $sequence
+ );
return $this->execute($sql);
}
@@ -108,7 +126,7 @@ trait SequenceTrait
*
* @param string $sequence Sequence name
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*/
public function resetSequence($sequence)
{
@@ -127,7 +145,12 @@ trait SequenceTrait
$this->fieldClean($sequence);
$this->clean($sequence);
- $sql = "SELECT pg_catalog.SETVAL('\"{$f_schema}\".\"{$sequence}\"', {$minvalue})";
+ $sql = \sprintf(
+ 'SELECT pg_catalog.SETVAL(\'"%s"."%s"\', %s)',
+ $f_schema,
+ $sequence,
+ $minvalue
+ );
return $this->execute($sql);
}
@@ -137,7 +160,7 @@ trait SequenceTrait
*
* @param string $sequence Sequence name
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*/
public function getSequence($sequence)
{
@@ -147,14 +170,19 @@ trait SequenceTrait
$this->fieldClean($sequence);
$this->clean($c_sequence);
- $sql = "
+ $sql = \sprintf(
+ '
SELECT c.relname AS seqname, s.*,
- pg_catalog.obj_description(s.tableoid, 'pg_class') AS seqcomment,
+ pg_catalog.obj_description(s.tableoid, \'pg_class\') AS seqcomment,
u.usename AS seqowner, n.nspname
- FROM \"{$sequence}\" AS s, pg_catalog.pg_class c, pg_catalog.pg_user u, pg_catalog.pg_namespace n
+ FROM "%s" AS s, pg_catalog.pg_class c, pg_catalog.pg_user u, pg_catalog.pg_namespace n
WHERE c.relowner=u.usesysid AND c.relnamespace=n.oid
- AND c.relname = '{$c_sequence}' AND c.relkind = 'S' AND n.nspname='{$c_schema}'
- AND n.oid = c.relnamespace";
+ AND c.relname = \'%s\' AND c.relkind = \'S\' AND n.nspname=\'%s\'
+ AND n.oid = c.relnamespace',
+ $sequence,
+ $c_sequence,
+ $c_schema
+ );
return $this->selectSet($sql);
}
@@ -170,7 +198,7 @@ trait SequenceTrait
* @param int $cachevalue The cache value
* @param bool $cycledvalue True if cycled, false otherwise
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*/
public function createSequence(
$sequence,
@@ -190,26 +218,45 @@ trait SequenceTrait
$this->clean($startvalue);
$this->clean($cachevalue);
- $sql = "CREATE SEQUENCE \"{$f_schema}\".\"{$sequence}\"";
+ $sql = \sprintf(
+ 'CREATE SEQUENCE "%s"."%s"',
+ $f_schema,
+ $sequence
+ );
if ('' !== $increment) {
- $sql .= " INCREMENT {$increment}";
+ $sql .= \sprintf(
+ ' INCREMENT %s',
+ $increment
+ );
}
if ('' !== $minvalue) {
- $sql .= " MINVALUE {$minvalue}";
+ $sql .= \sprintf(
+ ' MINVALUE %s',
+ $minvalue
+ );
}
if ('' !== $maxvalue) {
- $sql .= " MAXVALUE {$maxvalue}";
+ $sql .= \sprintf(
+ ' MAXVALUE %s',
+ $maxvalue
+ );
}
if ('' !== $startvalue) {
- $sql .= " START {$startvalue}";
+ $sql .= \sprintf(
+ ' START %s',
+ $startvalue
+ );
}
if ('' !== $cachevalue) {
- $sql .= " CACHE {$cachevalue}";
+ $sql .= \sprintf(
+ ' CACHE %s',
+ $cachevalue
+ );
}
if ($cycledvalue) {
@@ -296,10 +343,10 @@ trait SequenceTrait
/**
* Alter a sequence's owner.
*
- * @param \ADORecordSet $seqrs The sequence RecordSet returned by getSequence()
- * @param string $owner the new owner of the sequence
+ * @param ADORecordSet $seqrs The sequence RecordSet returned by getSequence()
+ * @param string $owner the new owner of the sequence
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*
* @internal string $name new owner for the sequence
*/
@@ -312,7 +359,12 @@ trait SequenceTrait
if (!empty($owner) && ($seqrs->fields['seqowner'] !== $owner)) {
$f_schema = $this->_schema;
$this->fieldClean($f_schema);
- $sql = "ALTER SEQUENCE \"{$f_schema}\".\"{$seqrs->fields['seqname']}\" OWNER TO \"{$owner}\"";
+ $sql = \sprintf(
+ 'ALTER SEQUENCE "%s"."%s" OWNER TO "%s"',
+ $f_schema,
+ $seqrs->fields['seqname'],
+ $owner
+ );
return $this->execute($sql);
}
@@ -323,16 +375,16 @@ trait SequenceTrait
/**
* Alter a sequence's properties.
*
- * @param \ADORecordSet $seqrs The sequence RecordSet returned by getSequence()
- * @param int $increment The sequence incremental value
- * @param int $minvalue The sequence minimum value
- * @param int $maxvalue The sequence maximum value
- * @param int $restartvalue The sequence current value
- * @param int $cachevalue The sequence cache value
- * @param null|bool $cycledvalue Sequence can cycle ?
- * @param int $startvalue The sequence start value when issueing a restart
+ * @param ADORecordSet $seqrs The sequence RecordSet returned by getSequence()
+ * @param int $increment The sequence incremental value
+ * @param int $minvalue The sequence minimum value
+ * @param int $maxvalue The sequence maximum value
+ * @param int $restartvalue The sequence current value
+ * @param int $cachevalue The sequence cache value
+ * @param null|bool $cycledvalue Sequence can cycle ?
+ * @param int $startvalue The sequence start value when issueing a restart
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*/
public function alterSequenceProps(
$seqrs,
@@ -347,27 +399,45 @@ trait SequenceTrait
$sql = '';
/* vars are cleaned in _alterSequence */
if (!empty($increment) && ($increment !== $seqrs->fields['increment_by'])) {
- $sql .= " INCREMENT {$increment}";
+ $sql .= \sprintf(
+ ' INCREMENT %s',
+ $increment
+ );
}
if (!empty($minvalue) && ($minvalue !== $seqrs->fields['min_value'])) {
- $sql .= " MINVALUE {$minvalue}";
+ $sql .= \sprintf(
+ ' MINVALUE %s',
+ $minvalue
+ );
}
if (!empty($maxvalue) && ($maxvalue !== $seqrs->fields['max_value'])) {
- $sql .= " MAXVALUE {$maxvalue}";
+ $sql .= \sprintf(
+ ' MAXVALUE %s',
+ $maxvalue
+ );
}
if (!empty($restartvalue) && ($restartvalue !== $seqrs->fields['last_value'])) {
- $sql .= " RESTART {$restartvalue}";
+ $sql .= \sprintf(
+ ' RESTART %s',
+ $restartvalue
+ );
}
if (!empty($cachevalue) && ($cachevalue !== $seqrs->fields['cache_value'])) {
- $sql .= " CACHE {$cachevalue}";
+ $sql .= \sprintf(
+ ' CACHE %s',
+ $cachevalue
+ );
}
if (!empty($startvalue) && ($startvalue !== $seqrs->fields['start_value'])) {
- $sql .= " START {$startvalue}";
+ $sql .= \sprintf(
+ ' START %s',
+ $startvalue
+ );
}
// toggle cycle yes/no
@@ -378,7 +448,12 @@ trait SequenceTrait
if ('' !== $sql) {
$f_schema = $this->_schema;
$this->fieldClean($f_schema);
- $sql = "ALTER SEQUENCE \"{$f_schema}\".\"{$seqrs->fields['seqname']}\" {$sql}";
+ $sql = \sprintf(
+ 'ALTER SEQUENCE "%s"."%s" %s',
+ $f_schema,
+ $seqrs->fields['seqname'],
+ $sql
+ );
return $this->execute($sql);
}
@@ -389,10 +464,10 @@ trait SequenceTrait
/**
* Rename a sequence.
*
- * @param \ADORecordSet $seqrs The sequence RecordSet returned by getSequence()
- * @param string $name The new name for the sequence
+ * @param ADORecordSet $seqrs The sequence RecordSet returned by getSequence()
+ * @param string $name The new name for the sequence
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*/
public function alterSequenceName($seqrs, $name)
{
@@ -400,7 +475,12 @@ trait SequenceTrait
if (!empty($name) && ($seqrs->fields['seqname'] !== $name)) {
$f_schema = $this->_schema;
$this->fieldClean($f_schema);
- $sql = "ALTER SEQUENCE \"{$f_schema}\".\"{$seqrs->fields['seqname']}\" RENAME TO \"{$name}\"";
+ $sql = \sprintf(
+ 'ALTER SEQUENCE "%s"."%s" RENAME TO "%s"',
+ $f_schema,
+ $seqrs->fields['seqname'],
+ $name
+ );
$status = $this->execute($sql);
if (0 === $status) {
@@ -416,10 +496,10 @@ trait SequenceTrait
/**
* Alter a sequence's schema.
*
- * @param \ADORecordSet $seqrs The sequence RecordSet returned by getSequence()
- * @param string $schema
+ * @param ADORecordSet $seqrs The sequence RecordSet returned by getSequence()
+ * @param string $schema
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*
* @internal param The $name new schema for the sequence
*/
@@ -429,7 +509,12 @@ trait SequenceTrait
if (!empty($schema) && ($seqrs->fields['nspname'] !== $schema)) {
$f_schema = $this->_schema;
$this->fieldClean($f_schema);
- $sql = "ALTER SEQUENCE \"{$f_schema}\".\"{$seqrs->fields['seqname']}\" SET SCHEMA {$schema}";
+ $sql = \sprintf(
+ 'ALTER SEQUENCE "%s"."%s" SET SCHEMA %s',
+ $f_schema,
+ $seqrs->fields['seqname'],
+ $schema
+ );
return $this->execute($sql);
}
@@ -443,7 +528,7 @@ trait SequenceTrait
* @param string $sequence Sequence name
* @param bool $cascade True to cascade drop, false to restrict
*
- * @return \ADORecordSet|int
+ * @return ADORecordSet|int
*/
public function dropSequence($sequence, $cascade = false)
{
@@ -451,7 +536,11 @@ trait SequenceTrait
$this->fieldClean($f_schema);
$this->fieldClean($sequence);
- $sql = "DROP SEQUENCE \"{$f_schema}\".\"{$sequence}\"";
+ $sql = \sprintf(
+ 'DROP SEQUENCE "%s"."%s"',
+ $f_schema,
+ $sequence
+ );
if ($cascade) {
$sql .= ' CASCADE';
@@ -482,18 +571,18 @@ trait SequenceTrait
* Protected method which alter a sequence
* SHOULDN'T BE CALLED OUTSIDE OF A TRANSACTION.
*
- * @param \ADORecordSet $seqrs The sequence recordSet returned by getSequence()
- * @param string $name The new name for the sequence
- * @param string $comment The comment on the sequence
- * @param string $owner The new owner for the sequence
- * @param string $schema The new schema for the sequence
- * @param int $increment The increment
- * @param int $minvalue The min value
- * @param int $maxvalue The max value
- * @param int $restartvalue The starting value
- * @param int $cachevalue The cache value
- * @param null|bool $cycledvalue True if cycled, false otherwise
- * @param int $startvalue The sequence start value when issueing a restart
+ * @param ADORecordSet $seqrs The sequence recordSet returned by getSequence()
+ * @param string $name The new name for the sequence
+ * @param string $comment The comment on the sequence
+ * @param string $owner The new owner for the sequence
+ * @param string $schema The new schema for the sequence
+ * @param int $increment The increment
+ * @param int $minvalue The min value
+ * @param int $maxvalue The max value
+ * @param int $restartvalue The starting value
+ * @param int $cachevalue The cache value
+ * @param null|bool $cycledvalue True if cycled, false otherwise
+ * @param int $startvalue The sequence start value when issueing a restart
*
* @return int 0 success
*/