From 8e926e6201dbd8876ed26c9a4b3af5d7079d6247 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Sun, 8 Jul 2012 11:10:28 +0200 Subject: Move sequence_name() method into postgres driver class --- program/include/rcube_db_pgsql.php | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'program/include/rcube_db_pgsql.php') diff --git a/program/include/rcube_db_pgsql.php b/program/include/rcube_db_pgsql.php index 782fc0ebb..285b8e2d4 100644 --- a/program/include/rcube_db_pgsql.php +++ b/program/include/rcube_db_pgsql.php @@ -33,13 +33,12 @@ class rcube_db_pgsql extends rcube_db { /** * Get last inserted record ID - * For Postgres databases, a table name is required * * @param string $table Table name (to find the incremented sequence) * * @return mixed ID or false on failure */ - public function insert_id($table = '') + public function insert_id($table = null) { if (!$this->db_connected || $this->db_mode == 'r') { return false; @@ -54,6 +53,27 @@ class rcube_db_pgsql extends rcube_db return $id; } + /** + * Return correct name for a specific database sequence + * + * @param string $sequence Secuence name + * + * @return string Translated sequence name + */ + protected function sequence_name($sequence) + { + $rcube = rcube::get_instance(); + + // return sequence name if configured + $config_key = 'db_sequence_'.$sequence; + + if ($name = $rcube->config->get($config_key)) { + return $name; + } + + return $sequence; + } + /** * Return SQL statement to convert a field value into a unix timestamp * -- cgit v1.2.3