import java.util.Vector;
+import net.sourceforge.phpdt.sql.IConstants;
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.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 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;
- }
+public class SQLHelper implements IConstants {
+ 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();
+ if (DEBUG) {
+ 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 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;
+ }
}