mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	 f9cf2df077
			
		
	
	
	f9cf2df077
	
	
	
		
			
			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
 |