mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	Also handle Postgresql sending type VARCHAR for TEXT column and setting length to b x7FFFFFF when the length is unknown. modified: storage/connect/Client.java modified: storage/connect/JavaWrappers.jar modified: storage/connect/JdbcInterface.java modified: storage/connect/PostgresqlInterface.java modified: storage/connect/global.h modified: storage/connect/ha_connect.cc modified: storage/connect/jdbconn.cpp modified: storage/connect/jdbconn.h modified: storage/connect/mysql-test/connect/r/jdbc_postgresql.result modified: storage/connect/mysql-test/connect/t/jdbc_postgresql.test modified: storage/connect/mysql-test/connect/t/jdbconn.inc modified: storage/connect/plgdbsem.h modified: storage/connect/tabjdbc.cpp modified: storage/connect/tabjdbc.h
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
package wrappers;
 | 
						|
 | 
						|
import java.sql.SQLException;
 | 
						|
import java.util.Hashtable;
 | 
						|
 | 
						|
import javax.sql.DataSource;
 | 
						|
 | 
						|
import org.postgresql.jdbc2.optional.PoolingDataSource;
 | 
						|
 | 
						|
public class PostgresqlInterface extends JdbcInterface {
 | 
						|
	public PostgresqlInterface() {
 | 
						|
		this(true);
 | 
						|
	} // end of constructor
 | 
						|
 | 
						|
	public PostgresqlInterface(boolean b) {
 | 
						|
		super(b);
 | 
						|
    	
 | 
						|
    	if (dst == null)
 | 
						|
    		dst = new Hashtable<String, DataSource>();
 | 
						|
    	
 | 
						|
	} // end of constructor
 | 
						|
 | 
						|
	@Override
 | 
						|
	public int JdbcConnect(String[] parms, int fsize, boolean scrollable) {
 | 
						|
	      int               rc = 0;
 | 
						|
	      String            url = parms[1];
 | 
						|
	      DataSource        ds = null;
 | 
						|
	      PoolingDataSource pds = null;
 | 
						|
	      
 | 
						|
	      if (DEBUG)
 | 
						|
	    	  System.out.println("Connecting to Postgresql data source");
 | 
						|
	      
 | 
						|
	      try {
 | 
						|
			CheckURL(url, "postgresql");
 | 
						|
			         
 | 
						|
	    	if ((ds = dst.get(url)) == null) {
 | 
						|
	    		pds = new PoolingDataSource();
 | 
						|
	    		pds.setUrl(url);
 | 
						|
	            
 | 
						|
	            if (parms[2] != null)
 | 
						|
	            	pds.setUser(parms[2]);
 | 
						|
	            
 | 
						|
	            if (parms[3] != null)
 | 
						|
	            	pds.setPassword(parms[3]);
 | 
						|
	            
 | 
						|
	            ds = pds;
 | 
						|
	    	  
 | 
						|
	            dst.put(url, ds);
 | 
						|
	    	} // endif ds
 | 
						|
	        
 | 
						|
	        // Get a connection from the data source
 | 
						|
	        conn = ds.getConnection();
 | 
						|
		    
 | 
						|
		    // Get the data base meta data object
 | 
						|
		    dbmd = conn.getMetaData();
 | 
						|
		    
 | 
						|
    	    // Get a statement from the connection
 | 
						|
    	    stmt = GetStmt(fsize, scrollable);
 | 
						|
	  	  } catch (SQLException se) {
 | 
						|
	  		SetErrmsg(se);
 | 
						|
	  	    rc = -2; 
 | 
						|
	  	  } catch( Exception e ) {
 | 
						|
	  		SetErrmsg(e);
 | 
						|
	  	    rc = -3; 
 | 
						|
	  	  } // end try/catch
 | 
						|
 | 
						|
	      return rc;
 | 
						|
	    } // end of JdbcConnect
 | 
						|
	    
 | 
						|
} // end of class PostgresqlInterface
 |