7a050d1b0c3165e329b50d1f14c3312cae0fded2
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.quantum.sql / src / com / quantum / sql / SQLHelper.java
1 package com.quantum.sql;
2
3 import java.sql.Connection;
4 import java.sql.SQLException;
5 import java.util.Vector;
6
7 import com.quantum.adapters.DatabaseAdapter;
8 import com.quantum.view.LogProxy;
9
10 public class SQLHelper {
11         
12         public static Vector getSchemas(Connection connection) {
13                 return MultiSQLServer.getInstance().getSchemas(connection);
14         }
15     public static int getSize(Connection connection, String tableName, DatabaseAdapter adapter) throws SQLException {
16         SQLResults results = MultiSQLServer.getInstance().execute( 
17                 connection, adapter.getCountQuery(tableName));
18         if (results.getRowCount() > 0 && results.getColumnCount() > 0) {
19             return Integer.parseInt(results.getElement(1, 1).toString());
20         } else {
21             return -1;
22         }
23     }
24         
25         public static SQLResults getResults(Connection connection, String query, int start, int end, int maxLength, String encoding) {
26                 try {
27                         return MultiSQLServer.getInstance().execute(connection, 
28                             query, start, end, maxLength, encoding);
29                 } catch (SQLException e) {
30                         LogProxy log = LogProxy.getInstance();
31                         log.addText(
32                                 LogProxy.ERROR,
33                                 "Error Executing: " + query + ":" + e.toString(), e); //$NON-NLS-1$ //$NON-NLS-2$
34                 }
35                 SQLResults results = new SQLResults();
36                 results.setIsError(true);
37                 return results;
38         }
39         
40         /**
41          * True if the type is Real (numeric and with decimal part) according to java.sql.Types
42          * @param type
43          * @return
44          */
45         public static boolean isReal(int type) {
46                 return (type == java.sql.Types.DECIMAL || type == java.sql.Types.DOUBLE || type ==java.sql.Types.FLOAT || 
47                         type == java.sql.Types.NUMERIC || type == java.sql.Types.REAL );
48         }
49
50         /**
51          * True if the type is Numeric according to java.sql.Types
52          * @param type
53          * @return
54          */
55         public static boolean isNumeric(int type) {
56                 return (type == java.sql.Types.DECIMAL || type == java.sql.Types.DOUBLE || type ==java.sql.Types.FLOAT || 
57                         type == java.sql.Types.NUMERIC || type == java.sql.Types.REAL || type == java.sql.Types.BIGINT ||
58                         type == java.sql.Types.TINYINT || type == java.sql.Types.SMALLINT || type == java.sql.Types.INTEGER );
59         }
60         /**
61          * True if the type is textual according to java.sql.Types
62          * @param type
63          * @return
64          */
65         public static boolean isText(int type) {
66                 return (type == java.sql.Types.CLOB || type == java.sql.Types.VARBINARY || type ==java.sql.Types.VARCHAR
67                                 || type == java.sql.Types.CHAR || type == java.sql.Types.LONGVARCHAR );
68         }
69         
70         public static String getQualifiedName(String schema, String name) {
71                 return (schema != null && schema.length() > 0) ? schema + "." + name : name;
72         }
73 }