updating SQL plugin with latest Quantum code
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.sql / src / net / sourceforge / phpdt / sql / sql / SQLHelper.java
index 1239620..847c041 100644 (file)
 package net.sourceforge.phpdt.sql.sql;
 
-import java.util.Vector;
-
-import net.sourceforge.phpdt.sql.adapters.AdapterFactory;
-import net.sourceforge.phpdt.sql.adapters.DatabaseAdapter;
-import net.sourceforge.phpdt.sql.adapters.DatabaseInfo;
-import net.sourceforge.phpdt.sql.adapters.FeatureNotSupported;
-import net.sourceforge.phpdt.sql.adapters.GenericAdapter;
-import net.sourceforge.phpdt.sql.adapters.NoSuchAdapterException;
 import net.sourceforge.phpdt.sql.bookmarks.Bookmark;
-import net.sourceforge.phpdt.sql.view.bookmark.BookmarkNode;
-import net.sourceforge.phpdt.sql.view.bookmark.MetaDataNode;
-import net.sourceforge.phpdt.sql.view.bookmark.SequenceNode;
-import net.sourceforge.phpdt.sql.view.bookmark.TableNode;
-import net.sourceforge.phpdt.sql.view.bookmark.ViewNode;
 
 public class SQLHelper {
-       MultiSQLServer server = MultiSQLServer.getInstance();
-       public Vector getTableList(BookmarkNode current) throws NoSuchAdapterException, FeatureNotSupported {
-               DatabaseAdapter adapter = AdapterFactory.getInstance().getAdapter(current.getType());
-               Vector children = new Vector();
-               DatabaseInfo info = DatabaseInfo.create(current);
-               if (adapter instanceof GenericAdapter) {
-                       Vector tables = server.listTables(info.getSchema(), "TABLE");
-               for (int i = 0; i < tables.size(); i++) {
-                       String tableName = (String) tables.elementAt(i);
-                       TableNode node = new TableNode(current, tableName);
-                       children.addElement(node);
-               }
-               } else {
-               SQLResults results = server.execute(adapter.getShowTableQuery(info));
-               String filter = adapter.getTableListFilter();
-               int size = results.getRowCount();
-               System.out.println("Found " + size + " tables");
-               for (int i = 1; i <= size; i++) {
-                       String tableName = results.getElement(1, i).toString();
-                       if (filter == null || filter.equals("") || tableName.indexOf(filter) < 0) {
-                               TableNode node = new TableNode(current, tableName);
-                               children.addElement(node);
-                       }
-               }
-               }
-               return children;
-       }
-       public int getSize(String query) {
-               SQLResults results = server.execute("SELECT COUNT(*) FROM " + query);
-               return Integer.parseInt(results.getElement(1, 1).toString());
-       }
-       public Vector getViewList(BookmarkNode current)
-               throws NoSuchAdapterException, FeatureNotSupported {
-               DatabaseAdapter adapter =
-                       AdapterFactory.getInstance().getAdapter(current.getType());
-               Vector children = new Vector();
-               DatabaseInfo info = DatabaseInfo.create(current);
-               if (adapter instanceof GenericAdapter) {
-                       Vector views = server.listTables(info.getSchema(), "VIEW");
-               for (int i = 0; i < views.size(); i++) {
-                       String viewName = (String) views.elementAt(i);
-                       ViewNode node = new ViewNode(current, viewName);
-                       children.addElement(node);
-               }
-               } else {
-                       SQLResults results =
-                               server.execute(
-                                       adapter.getShowViewQuery(info));
-                       String filter = adapter.getTableListFilter();
-                       int size = results.getRowCount();
-                       for (int i = 1; i <= size; i++) {
-                               String viewName = results.getElement(1, i).toString();
-                               if (filter == null
-                                       || filter.equals("")
-                                       || viewName.indexOf(filter) < 0) {
-                                       ViewNode node = new ViewNode(current, viewName);
-                                       children.addElement(node);
-                               }
-                       }
-               }
-               return children;
+       
+       public static int getSize(Bookmark current, String tableName) {
+               SQLResults results = MultiSQLServer.getInstance().execute(
+            current.getConnection(), "SELECT COUNT(*) FROM " + tableName); //$NON-NLS-1$
+               return Integer.parseInt(results.getElement(1, 1).toString());
+       }
+       public static SQLResults getResults(Bookmark current, String query, int start, int end, int maxLength, String encoding) {
+               return MultiSQLServer.getInstance().execute(current.getConnection(), 
+            query, start, end, maxLength, encoding);
+       }
+       public static String getFullTableName(Bookmark current, String table) {
+               String schema = current.getSchema();
+               if (schema == null) return table;
+               if (schema.equals("")) return table; //$NON-NLS-1$
+               return schema + "." + table; //$NON-NLS-1$
+       }
+
+       /**
+        * True if the type is Real (numeric and with decimal part) according to java.sql.Types
+        * @param type
+        * @return
+        */
+       public static boolean isReal(int type) {
+               return (type == java.sql.Types.DECIMAL || type == java.sql.Types.DOUBLE || type ==java.sql.Types.FLOAT || 
+                       type == java.sql.Types.NUMERIC || type == java.sql.Types.REAL );
        }
-       public Vector getSequenceList(BookmarkNode current) throws NoSuchAdapterException, FeatureNotSupported {
-               DatabaseAdapter adapter = AdapterFactory.getInstance().getAdapter(current.getType());
-       MultiSQLServer server = MultiSQLServer.getInstance();
-               Vector children = new Vector();
-               if (!(adapter instanceof GenericAdapter)) {
-               SQLResults results = server.execute(adapter.getShowSequenceQuery(DatabaseInfo.create(current)));
-               String filter = adapter.getTableListFilter();
-               int size = results.getRowCount();
-               for (int i = 1; i <= size; i++) {
-                       String seqName = results.getElement(1, i).toString();
-                       if (filter == null || filter.equals("") || seqName.indexOf(filter) < 0) {
-                               SequenceNode node = new SequenceNode(current, seqName);
-                               children.addElement(node);
-                       }
-               }
-               }
-               return children;
-       }
-       public Vector getMetaData(TableNode parent, String entity) {
-               Vector columns = new Vector();
-               String query = "SELECT * FROM " + entity;
-               SQLResults results = server.execute(query);
-               for (int i = 1; i <= results.getColumnCount(); i++) {
-                       String name = results.getColumnName(i);
-                       String type = results.getColumnType(i);
-                       MetaDataNode node = new MetaDataNode(parent, name, type);
-                       columns.addElement(node);
-               }
-               return columns;
-       }
-       public Vector getMetaData(ViewNode parent, String entity) {
-               Vector columns = new Vector();
-               String query = "SELECT * FROM " + entity;
-               SQLResults results = server.execute(query);
-               for (int i = 1; i <= results.getColumnCount(); i++) {
-                       String name = results.getColumnName(i);
-                       String type = results.getColumnType(i);
-                       MetaDataNode node = new MetaDataNode(parent, name, type);
-                       columns.addElement(node);
-               }
-               return columns;
-       }
-       public SQLResults getResults(String query, int start, int end) {
-               return server.execute(query, start, end);
-       }
-       public SQLResults getResults(String query, int start, int end, int maxLength, String encoding) {
-               return server.execute(query, start, end, maxLength, encoding);
-       }
-       public static String getFullTableName(Bookmark current, String table) {
-               String schema = current.getSchema();
-               if (schema == null || schema.equals("")) {
-                       return table;
-               }
-               return schema + "." + table;
-       }
+
+       /**
+        * True if the type is Numeric according to java.sql.Types
+        * @param type
+        * @return
+        */
+       public static boolean isNumeric(int type) {
+               return (type == java.sql.Types.DECIMAL || type == java.sql.Types.DOUBLE || type ==java.sql.Types.FLOAT || 
+                       type == java.sql.Types.NUMERIC || type == java.sql.Types.REAL || type == java.sql.Types.BIGINT ||
+                       type == java.sql.Types.TINYINT || type == java.sql.Types.SMALLINT || type == java.sql.Types.INTEGER );
+       }
+       /**
+        * True if the type is textual according to java.sql.Types
+        * @param type
+        * @return
+        */
+       public static boolean isText(int type) {
+               return (type == java.sql.Types.CLOB || type == java.sql.Types.VARBINARY || type ==java.sql.Types.VARCHAR );
+       }
+
 }