diff options
| author | Mark Newnham <mark@newnhams.com> | 2021-03-26 20:43:14 -0600 |
|---|---|---|
| committer | Damien Regad <dregad@mantisbt.org> | 2021-08-22 11:16:01 +0200 |
| commit | 382b4d477e42c430d99daaf3427a74854a971494 (patch) | |
| tree | c7bb55c5a854a2895e21c43d2219aa58b83f9e6c | |
| parent | 5f2fb569dddd92f630e808edb038a97e7e8a61dd (diff) | |
| download | adodb-382b4d477e42c430d99daaf3427a74854a971494.tar.gz adodb-382b4d477e42c430d99daaf3427a74854a971494.tar.bz2 adodb-382b4d477e42c430d99daaf3427a74854a971494.zip | |
update createSequence
- updated docblock
- Rewrote syntax to conform to recomended syntax replacing GENERATOR with SEQUENCE
| -rw-r--r-- | drivers/adodb-firebird.inc.php | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/drivers/adodb-firebird.inc.php b/drivers/adodb-firebird.inc.php index 2bcf9da1..bb98ebdf 100644 --- a/drivers/adodb-firebird.inc.php +++ b/drivers/adodb-firebird.inc.php @@ -41,6 +41,8 @@ class ADODB_firebird extends ADOConnection { var $metaColumnsSQL = "select lower(a.rdb\$field_name), a.rdb\$null_flag, a.rdb\$default_source, b.rdb\$field_length, b.rdb\$field_scale, b.rdb\$field_sub_type, b.rdb\$field_precision, b.rdb\$field_type from rdb\$relation_fields a, rdb\$fields b where a.rdb\$field_source = b.rdb\$field_name and a.rdb\$relation_name = '%s' order by a.rdb\$field_position asc"; //OPN STUFF end + + public $genSeqSQL = "CREATE SEQUENCE %s START WITH %s"; var $hasGenID = true; var $_bindInputArray = true; @@ -381,13 +383,24 @@ class ADODB_firebird extends ADOConnection { !empty($rs); } - - function CreateSequence($seqname = 'adodbseq', $startID = 1) + /** + * Creates a sequence in the database. + * + * @link https://adodb.org/dokuwiki/doku.php?id=v5:reference:connection:createsequence + * + * @param string $seqname The sequence name. + * @param int $startID The start id. + * + * @return ADORecordSet|bool A record set if executed successfully, otherwise false. + */ + public function createSequence($seqname='adodbseq', $startID = 1) { - $ok = $this->Execute(("CREATE GENERATOR $seqname" )); - if (!$ok) return false; - return $this->Execute("SET GENERATOR $seqname TO ".($startID-1)); - } + $sql = sprintf($this->_genSeqSQL,$seqname,$startID); + $ok = $this->Execute($sql); + + if (!$ok) + return false; + } function DropSequence($seqname = 'adodbseq') { |
