intial source from ttp://www.sf.net/projects/wdte
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.quantum.sql / src / com / quantum / adapters / PostgresAdapter.java
index 8389bf1..90bf17f 100644 (file)
@@ -1,28 +1,35 @@
 package com.quantum.adapters;
 
-import com.quantum.sql.SQLHelper;
+import java.util.HashMap;
+import java.util.Map;
+
 import com.quantum.util.QuantumUtil;
 import com.quantum.util.sql.TypesHelper;
 
 
 public class PostgresAdapter extends DatabaseAdapter {
-    public String getShowTableQuery(String qualifier, boolean isDefault) {
+       protected PostgresAdapter() {
+               super(AdapterFactory.POSTGRES);
+       }
+       public String getShowTableQuery(String qualifier) {
         return "SELECT SCHEMANAME, TABLENAME FROM PG_TABLES WHERE SCHEMANAME = '" 
             + qualifier + "'";
     }
-    public String getShowViewQuery(String qualifier, boolean isDefault) {
+    public String getShowViewQuery(String qualifier) {
         return "SELECT SCHEMANAME, VIEWNAME FROM PG_VIEWS WHERE SCHEMANAME = '" 
             + qualifier + "'";
     }
-    public String getShowSequenceQuery(String qualifier, boolean isDefault) {
-        return "SELECT SCHEMANAME, relname FROM pg_class WHERE relkind = 'S'" +
-            "AND SCHEMANAME = '" + qualifier + "'";
+    public String getShowSequenceQuery(String qualifier) {
+       return "select pg_namespace.nspname, relname " +
+                       "from pg_class, pg_namespace where relkind = 'S' " +
+                       "and relnamespace = pg_namespace.oid " +
+                       "and pg_namespace.nspname = '" + qualifier + "'";
     }
        public String getNextValue(String sequence, String owner) {
-               return "SELECT NEXTVAL('" + SQLHelper.getQualifiedName(owner, sequence) + "')";
+               return "SELECT NEXTVAL('" + getQualifiedName(owner, sequence) + "')";
        }
        public String getPrevValue(String sequence, String owner) {
-               return "SELECT * FROM " + SQLHelper.getQualifiedName(owner, sequence);
+               return "SELECT * FROM " + getQualifiedName(owner, sequence);
        }
 
        /**
@@ -46,6 +53,9 @@ public class PostgresAdapter extends DatabaseAdapter {
                return super.quote(string, type, typeString);
        }
 
+       public String getTableQuery(String table) {
+               return "SELECT OID, * FROM " + filterTableName(table); //$NON-NLS-1$
+       }
     /**
      * @see com.quantum.adapters.DatabaseAdapter#filterTableName(java.lang.String)
      */
@@ -67,4 +77,10 @@ public class PostgresAdapter extends DatabaseAdapter {
         return "public";
     }
 
+       public Map getDefaultConnectionParameters() {
+               Map map = new HashMap();
+               map.put("port", "5432");
+               map.put("hostname", "localhost");
+               return map;
+       }
 }
\ No newline at end of file