Remove unnecessary quoting on table names which breaks table prefixes
[lhc/web/wiklou.git] / includes / DatabasePostgreSQL.php
index acaf7e2..c92a824 100644 (file)
@@ -1,19 +1,14 @@
 <?php
-# $Id$
 
 /**
- * DO NOT USE !!!  Unless you want to help developping it.
+ * This is PostgreSQL database abstraction layer.
+ * 
+ * As it includes more generic version for DB functions, 
+ * than MySQL ones, some of them should be moved to parent
+ * Database class.
  *
- * This file is an attempt to port the mysql database layer to postgreSQL. The
- * only thing done so far is s/mysql/pg/ and dieing if function haven't been
- * ported.
- *
- * As said brion 07/06/2004 :
- * "table definitions need to be changed. fulltext index needs to work differently
- * things that use the last insert id need to be changed. Probably other things
- * need to be changed. various semantics may be different."
- *
- * Hashar
+ * STATUS: Working PG implementation of MediaWiki
+ * TODO: Installer support
  *
  * @package MediaWiki
  */
@@ -244,19 +239,23 @@ class DatabasePgsql extends Database {
                # First run any transformations from the parent object
                $name = parent::tableName( $name );
 
+               # Replace backticks into double quotes
+               $name = strtr($name,'`','"');
+
                # Now quote PG reserved keywords
                switch( $name ) {
                        case 'user':
-                               return '"user"';
                        case 'old':
-                               return '"old"';
+                       case 'group':
+                               return '"' . $name . '"';
+                       
                        default:
                                return $name;
                }
        }
 
        function strencode( $s ) {
-               return addslashes( $s );
+               return pg_escape_string( $s );
        }
 
        /**