summaryrefslogtreecommitdiff
path: root/src/interfaces/jdbc/postgresql/DatabaseMetaData.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/jdbc/postgresql/DatabaseMetaData.java')
-rw-r--r--src/interfaces/jdbc/postgresql/DatabaseMetaData.java46
1 files changed, 22 insertions, 24 deletions
diff --git a/src/interfaces/jdbc/postgresql/DatabaseMetaData.java b/src/interfaces/jdbc/postgresql/DatabaseMetaData.java
index 4e3894f66b6..47c257e7824 100644
--- a/src/interfaces/jdbc/postgresql/DatabaseMetaData.java
+++ b/src/interfaces/jdbc/postgresql/DatabaseMetaData.java
@@ -1925,30 +1925,28 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData
*/
public java.sql.ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQLException
{
- // XXX-Not Implemented as grant is broken
- return null;
- //Field f[] = new Field[8];
- //Vector v = new Vector();
- //
- //f[0] = new Field(connection,new String("TABLE_CAT"),iVarcharOid,32);
- //f[1] = new Field(connection,new String("TABLE_SCHEM"),iVarcharOid,32);
- //f[2] = new Field(connection,new String("TABLE_NAME"),iVarcharOid,32);
- //f[3] = new Field(connection,new String("COLUMN_NAME"),iVarcharOid,32);
- //f[4] = new Field(connection,new String("GRANTOR"),iVarcharOid,32);
- //f[5] = new Field(connection,new String("GRANTEE"),iVarcharOid,32);
- //f[6] = new Field(connection,new String("PRIVILEGE"),iVarcharOid,32);
- //f[7] = new Field(connection,new String("IS_GRANTABLE"),iVarcharOid,32);
- //
- //// This is taken direct from the psql source
- //ResultSet r = connection.ExecSQL("SELECT relname, relacl FROM pg_class, pg_user WHERE ( relkind = 'r' OR relkind = 'i') and relname !~ '^pg_' and relname !~ '^xin[vx][0-9]+' and usesysid = relowner ORDER BY relname");
- //while(r.next()) {
- //byte[][] tuple = new byte[8][0];
- //tuple[0] = tuple[1]= "default".getBytes();
- //
- //v.addElement(tuple);
- //}
- //
- //return new ResultSet(connection,f,v,"OK",1);
+ Field f[] = new Field[8];
+ Vector v = new Vector();
+
+ f[0] = new Field(connection,new String("TABLE_CAT"),iVarcharOid,32);
+ f[1] = new Field(connection,new String("TABLE_SCHEM"),iVarcharOid,32);
+ f[2] = new Field(connection,new String("TABLE_NAME"),iVarcharOid,32);
+ f[3] = new Field(connection,new String("COLUMN_NAME"),iVarcharOid,32);
+ f[4] = new Field(connection,new String("GRANTOR"),iVarcharOid,32);
+ f[5] = new Field(connection,new String("GRANTEE"),iVarcharOid,32);
+ f[6] = new Field(connection,new String("PRIVILEGE"),iVarcharOid,32);
+ f[7] = new Field(connection,new String("IS_GRANTABLE"),iVarcharOid,32);
+
+ // This is taken direct from the psql source
+ ResultSet r = connection.ExecSQL("SELECT relname, relacl FROM pg_class, pg_user WHERE ( relkind = 'r' OR relkind = 'i') and relname !~ '^pg_' and relname !~ '^xin[vx][0-9]+' and usesysid = relowner ORDER BY relname");
+ while(r.next()) {
+ byte[][] tuple = new byte[8][0];
+ tuple[0] = tuple[1]= "".getBytes();
+ DriverManager.println("relname=\""+r.getString(1)+"\" relacl=\""+r.getString(2)+"\"");
+ //v.addElement(tuple);
+ }
+
+ return new ResultSet(connection,f,v,"OK",1);
}
/**