Re: [JDBC] Re: What needs to be done?

2001-08-03 Thread Barry Lind

GUC is how this type of stuff is controlled on the server, but I don't 
know of any examples where it controlls client only functionality.  Why 
would you want parameters on the server that the server doesn't use?

thanks,
--Barry

Bruce Momjian wrote:

If people feel that backwards compatibiliy is important I would suggest 
it be done in the following way:

A new connection parameter named 'compatible' be defined whose default 
value is 7.2 (i.e new functionality).  But you could set compatible=7.1 
to revert back to the old functionality.  (This is how Oracle deals with 
similar issues in its code base).  This parameter could then be set 
either in the JDBC URL (i.e. 
jdbc:postgresql://localhost:5432:template1?compatible=7.1) or passed 
explicily in the connect() method.

 
 GUC seems to be the way to control these things.  It can be set in
 postgresql.conf and via a SET command.
 
 



---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [JDBC] Re: What needs to be done?

2001-08-02 Thread Ricardo Maia



So how whould I map the BLOB java type in the corresponding SQL type?

I want to create a table with a BLOB attribute, but I want that my code can 
run for PostgreSQL, Oracle and other BD that handles BLOBs.

So first I had to map the BLOB in the corresponding BD SQL type and then 
create the table with an attribute of that SQL type.

Ricardo Maia

On Thursday 02 August 2001 03:16, Barry Lind wrote:
 I actually think the response for 'oid' is correct.  It reports the oid
 as java type integer (which is the real datatype of the value stored).
 A column of type oid can be used for may different things.  It can be
 used for blobs, but not all columns of type oid are used for blobs.
 Another use of a column of type oid is to store foreign keys from one
 table to another.  Since all tables have a builtin column named 'oid' of
 type oid, it is very convenient to use this value in foreign keys on
 other tables.  Assuming that oid = blob would break those applications.

 I hope everyone that uses postgresql and jdbc understands that BLOB
 support is one area with many problems, some of which can be fixed in
 the JDBC code, but others that will require better support in the
 underlying database.

 thanks,
 --Barry

 Ricardo Maia wrote:
  For example when I call the method:
 
  DatabaseMetaData.getTypeInfo()
 
  I whould expect to see the SQL Type BLOB mapped as an oid.
 
  see attach
 
  Ricardo Maia
 
  On Wednesday 01 August 2001 23:29, Rene Pijlman wrote:
 On Wed, 1 Aug 2001 22:49:40 +0100, Ricardo Maia wrote:
 The problem is that, as the PostgreSQL JDBC driver doesn't
 follow JDBC Standard I had to write some specific code for
 use it with PostgreSQL DB.
 
 So what exactly are the deviations from the standard that you
 encountered?
 
 Regards,
 René Pijlman
 
 ---(end of broadcast)---
 TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
 
 
 
 
 package databasetest;
 
 import java.sql.*;
 
 public class GetTypesInfo {
 
   public static void main(String args[ ]) {
 
 String url = jdbc:postgresql://127.0.0.1/test;
 
 Connection con;
 
 DatabaseMetaData dbmd;
 
 try {
   Class.forName(org.postgresql.Driver);
 } catch(java.lang.ClassNotFoundException e) {
   System.err.print(ClassNotFoundException: );
   System.err.println(e.getMessage());
 }
 
 try {
   con = DriverManager.getConnection(url,bobby, tareco);
 
   dbmd = con.getMetaData();
 
   ResultSet rs = dbmd.getTypeInfo();
 
   while (rs.next()) {
 
 String typeName = rs.getString(TYPE_NAME);
 
 short dataType = rs.getShort(DATA_TYPE);
 
 String createParams = rs.getString(CREATE_PARAMS);
 
 int nullable = rs.getInt(NULLABLE);
 
 boolean caseSensitive = rs.getBoolean(CASE_SENSITIVE);
 
 if(dataType != java.sql.Types.OTHER)
 {
   System.out.println(DBMS type  + typeName + :);
   System.out.println( java.sql.Types:+
  typeName(dataType)); System.out.print( parameters used to create:
  );
   System.out.println(createParams);
   System.out.println( nullable?:+ nullable);
   System.out.print( case sensitive?:  );
   System.out.println(caseSensitive);
   System.out.println();
 }
   }
 
   con.close();
 } catch(SQLException ex) {
   System.err.println(SQLException:  + ex.getMessage());
 }
   }
 
 
   public static String typeName(int i)
   {
 switch(i){
   case java.sql.Types.ARRAY: return ARRAY;
   case java.sql.Types.BIGINT: return BIGINT;
   case java.sql.Types.BINARY: return BINARY;
   case java.sql.Types.BIT: return BIT;
   case java.sql.Types.BLOB: return BLOB;
   case java.sql.Types.CHAR: return CHAR;
   case java.sql.Types.CLOB: return CLOB;
   case java.sql.Types.DATE: return DATE;
   case java.sql.Types.DECIMAL: return DECIMAL;
   case java.sql.Types.DISTINCT: return DISTINCT;
   case java.sql.Types.DOUBLE: return DOUBLE;
   case java.sql.Types.FLOAT: return FLOAT;
   case java.sql.Types.INTEGER: return INTEGER;
   case java.sql.Types.JAVA_OBJECT: return JAVA_OBJECT;
   case java.sql.Types.LONGVARBINARY: return LONGVARBINARY;
   case java.sql.Types.LONGVARCHAR: return LONGVARCHAR;
   case java.sql.Types.NULL: return NULL;
   case java.sql.Types.NUMERIC: return NUMERIC;
   case java.sql.Types.OTHER: return OTHER;
   case java.sql.Types.REAL: return REAL;
   case java.sql.Types.REF: return REF;
   case java.sql.Types.SMALLINT: return SMALLINT;
   case java.sql.Types.STRUCT: return STRUCT;
   case java.sql.Types.TIME: return TIME;
   case java.sql.Types.TIMESTAMP: return TIMESTAMP;
   case java.sql.Types.TINYINT: return TINYINT;
   case java.sql.Types.VARBINARY: return VARBINARY;
   case 

Re: [JDBC] Re: What needs to be done?

2001-08-02 Thread Bruce Momjian

 I actually consider the biggest problem the fact the the 'official' 
 postgres jdbc website is very much out of date 
 (http://jdbc.postgresql.org).  (it doesn't even have the 7.1 drivers). 
 I feel that either someone needs to maintain this page; or someone needs 
 to create a new website and get the jdbc.postgresql.org DNS entry to 
 point to the new site, or the page should just be decommisioned.  At 
 this point I think it is doing more harm than good.

Just a followup.  Peter has replied to a few people stating he is very
busy and wants someone to take over the jdbc.postgresql.org website. 
Marc, Vince, and others are working on it now.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster