示例#1
0
 /**
  * Get the current (ie, value most recently obtained) from a list of named Sequences
  *
  * @param array $sequences array of sequence names
  * @param Pg $db Database connection to use
  * @return array Array of sequence values
  */
 protected static function getSequenceCurval(array $sequences, Pg $db)
 {
     // anything to do
     if (!$sequences) {
         return array();
     }
     // sequence components
     foreach ($sequences as $key => &$sequence) {
         $sequence = sprintf("currval('%s'::regclass) as %s", $sequence, Query::quoteIdentifier($key));
     }
     $sequences = implode(', ', $sequences);
     return $db->query(new Query("SELECT {$sequences};"))->fetchSingle(Result::FLATTEN_PREVENT);
 }