Search in sources :

Example 11 with INode

use of org.talend.sqlbuilder.dbstructure.nodes.INode in project tdi-studio-se by Talend.

the class ColumnInfoTab method getDataSet.

public DataSet getDataSet() throws Exception {
    INode node = getNode();
    if (node == null) {
        return null;
    }
    if (node.getSession() == null) {
        return null;
    }
    if (node instanceof TableNode) {
        TableNode tableNode = (TableNode) node;
        ITableInfo ti = tableNode.getTableInfo();
        if (tableNode.getTableInfo() == null) {
            return null;
        }
        ResultSet resultSet = null;
        SessionTreeNode treeNode = node.getSession();
        // For synonym table, should get the corresponding table.
        if (ti.getType().equals("SYNONYM")) {
            //$NON-NLS-1$
            String realTableName = ExtractMetaDataFromDataBase.getTableNameBySynonym(treeNode.getInteractiveConnection().getConnection(), ti.getSimpleName());
            resultSet = treeNode.getMetaData().getJDBCMetaData().getColumns(ti.getCatalogName(), ti.getSchemaName(), realTableName, //$NON-NLS-1$
            "%");
        } else {
            // https://jira.talendforge.org/browse/TDI-28578
            String tableName = ti.getSimpleName();
            if (tableName.contains("/")) {
                tableName = tableName.replaceAll("/", "//");
            }
            resultSet = node.getSession().getMetaData().getJDBCMetaData().getColumns(ti.getCatalogName(), ti.getSchemaName(), tableName, "%");
        // resultSet = node.getSession().getMetaData().getColumns(tableNode.getTableInfo());
        }
        DataSet dataSet = new DataSet(null, resultSet, new int[] { 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 });
        resultSet.close();
        return dataSet;
    }
    return null;
}
Also used : INode(org.talend.sqlbuilder.dbstructure.nodes.INode) ITableInfo(net.sourceforge.squirrel_sql.fw.sql.ITableInfo) DataSet(org.talend.sqlbuilder.dataset.dataset.DataSet) SessionTreeNode(org.talend.sqlbuilder.sessiontree.model.SessionTreeNode) TableNode(org.talend.sqlbuilder.dbstructure.nodes.TableNode) ResultSet(java.sql.ResultSet)

Example 12 with INode

use of org.talend.sqlbuilder.dbstructure.nodes.INode in project tdi-studio-se by Talend.

the class ConnectionInfoTab method getDataSet.

/*
     * (non-Javadoc)
     * 
     * @see org.talend.sqlbuilder.dbdetail.tab.AbstractDataSetTab#getDataSet()
     */
@Override
public DataSet getDataSet() throws Exception {
    INode node = getNode();
    if (node == null) {
        return null;
    }
    if (node.getSession() == null) {
        return null;
    }
    SQLDatabaseMetaData sqlMetaData = node.getSession().getMetaData();
    if (sqlMetaData == null) {
        return null;
    }
    DatabaseMetaData jdbcMetaData = sqlMetaData.getJDBCMetaData();
    String[] header = new String[2];
    //$NON-NLS-1$
    header[0] = Messages.getString("DatabaseDetailView.Tab.ConnectionInfo.Property");
    //$NON-NLS-1$
    header[1] = Messages.getString("DatabaseDetailView.Tab.ConnectionInfo.Value");
    String[][] data = new String[124][2];
    setDataTo20(node, sqlMetaData, jdbcMetaData, data);
    setDataTo40(jdbcMetaData, data);
    setDataTo60(jdbcMetaData, data);
    setDataTo80(jdbcMetaData, data);
    setDataTo100(jdbcMetaData, data);
    setDataTo120(jdbcMetaData, data);
    int[] types = new int[2];
    types[0] = DataSet.TYPE_STRING;
    types[1] = DataSet.TYPE_STRING;
    DataSet dataSet = new DataSet(header, data, types);
    return dataSet;
}
Also used : INode(org.talend.sqlbuilder.dbstructure.nodes.INode) SQLDatabaseMetaData(net.sourceforge.squirrel_sql.fw.sql.SQLDatabaseMetaData) DataSet(org.talend.sqlbuilder.dataset.dataset.DataSet) SQLDatabaseMetaData(net.sourceforge.squirrel_sql.fw.sql.SQLDatabaseMetaData) DatabaseMetaData(java.sql.DatabaseMetaData)

Example 13 with INode

use of org.talend.sqlbuilder.dbstructure.nodes.INode in project tdi-studio-se by Talend.

the class IndexesTab method getDataSet.

public DataSet getDataSet() throws Exception {
    INode node = getNode();
    if (node == null) {
        return null;
    }
    if (node.getSession() == null) {
        return null;
    }
    if (node instanceof TableNode) {
        TableNode tableNode = (TableNode) node;
        ITableInfo ti = tableNode.getTableInfo();
        if (tableNode.getTableInfo() == null) {
            return null;
        }
        ResultSet resultSet = null;
        SessionTreeNode treeNode = node.getSession();
        // For synonym table, should get the corresponding table.
        if (ti.getType().equals("SYNONYM")) {
            //$NON-NLS-1$
            String realTableName = ExtractMetaDataFromDataBase.getTableNameBySynonym(treeNode.getInteractiveConnection().getConnection(), ti.getSimpleName());
            resultSet = treeNode.getMetaData().getJDBCMetaData().getIndexInfo(ti.getCatalogName(), ti.getSchemaName(), realTableName, true, true);
        } else {
            resultSet = node.getSession().getMetaData().getIndexInfo((tableNode.getTableInfo()));
        }
        DataSet dataSet = new DataSet(null, resultSet, new int[] { 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 });
        resultSet.close();
        return dataSet;
    }
    return null;
}
Also used : INode(org.talend.sqlbuilder.dbstructure.nodes.INode) ITableInfo(net.sourceforge.squirrel_sql.fw.sql.ITableInfo) DataSet(org.talend.sqlbuilder.dataset.dataset.DataSet) SessionTreeNode(org.talend.sqlbuilder.sessiontree.model.SessionTreeNode) TableNode(org.talend.sqlbuilder.dbstructure.nodes.TableNode) ResultSet(java.sql.ResultSet)

Example 14 with INode

use of org.talend.sqlbuilder.dbstructure.nodes.INode in project tdi-studio-se by Talend.

the class PreviewTab method getDataSet.

public DataSet getDataSet() throws Exception {
    INode node = getNode();
    if (node == null) {
        return null;
    }
    if (node.getSession() == null) {
        return null;
    }
    if (node instanceof TableNode) {
        TableNode tableNode = (TableNode) node;
        if (tableNode.getTableInfo() == null) {
            return null;
        }
        int maxResults = SqlBuilderPlugin.getDefault().getPluginPreferences().getInt(IConstants.PRE_ROW_COUNT);
        if (maxResults == 0) {
            maxResults = 50;
        }
        Statement statement = tableNode.getSession().getInteractiveConnection().createStatement();
        statement.setMaxRows(maxResults);
        //$NON-NLS-1$
        statement.execute("select * from " + tableNode.getQualifiedName());
        ResultSet resultSet = statement.getResultSet();
        DataSet dataSet = new DataSet(null, resultSet, null);
        resultSet.close();
        statement.close();
        return dataSet;
    }
    return null;
}
Also used : INode(org.talend.sqlbuilder.dbstructure.nodes.INode) DataSet(org.talend.sqlbuilder.dataset.dataset.DataSet) Statement(java.sql.Statement) TableNode(org.talend.sqlbuilder.dbstructure.nodes.TableNode) ResultSet(java.sql.ResultSet)

Example 15 with INode

use of org.talend.sqlbuilder.dbstructure.nodes.INode in project tdi-studio-se by Talend.

the class RowCountTab method getDataSet.

public DataSet getDataSet() throws Exception {
    String nodeName = getNode().toString();
    INode node = getNode();
    if (node == null) {
        return null;
    }
    if (node.getSession() == null) {
        return null;
    }
    if (node instanceof TableNode) {
        TableNode tableNode = (TableNode) getNode();
        nodeName = tableNode.getQualifiedName();
    }
    //$NON-NLS-1$
    return new DataSet(null, "select count(*) from " + nodeName, null, getNode().getSession().getInteractiveConnection());
}
Also used : INode(org.talend.sqlbuilder.dbstructure.nodes.INode) DataSet(org.talend.sqlbuilder.dataset.dataset.DataSet) TableNode(org.talend.sqlbuilder.dbstructure.nodes.TableNode)

Aggregations

INode (org.talend.sqlbuilder.dbstructure.nodes.INode)16 TableNode (org.talend.sqlbuilder.dbstructure.nodes.TableNode)11 DataSet (org.talend.sqlbuilder.dataset.dataset.DataSet)8 ResultSet (java.sql.ResultSet)6 ArrayList (java.util.ArrayList)5 ITableInfo (net.sourceforge.squirrel_sql.fw.sql.ITableInfo)5 SessionTreeNode (org.talend.sqlbuilder.sessiontree.model.SessionTreeNode)5 Iterator (java.util.Iterator)4 List (java.util.List)2 TreeSet (java.util.TreeSet)2 ICompletionProposal (org.eclipse.jface.text.contentassist.ICompletionProposal)2 Point (org.eclipse.swt.graphics.Point)2 CatalogNode (org.talend.sqlbuilder.dbstructure.nodes.CatalogNode)2 DatabaseNode (org.talend.sqlbuilder.dbstructure.nodes.DatabaseNode)2 DatabaseMetaData (java.sql.DatabaseMetaData)1 Statement (java.sql.Statement)1 SQLDatabaseMetaData (net.sourceforge.squirrel_sql.fw.sql.SQLDatabaseMetaData)1 IExtensionPoint (org.eclipse.core.runtime.IExtensionPoint)1 ListenerList (org.eclipse.core.runtime.ListenerList)1 IAction (org.eclipse.jface.action.IAction)1