ResultSet rs = null; try { DatabaseMetaData md = privateGetJDBCMetaData(); rs = md.getProcedureColumns(ti.getCatalogName(), ti.getSchemaName(), ti.getSimpleName(), "%"); ResultSetDataSet rsds = new ResultSetDataSet(); rsds.setResultSet(rs, DialectFactory.getDialectType(this)); return rsds; } catch (SQLException e) { throw new DataSetException(e); } finally { SQLUtilities.closeResultSet(rs); }
ResultSet rs = null; try { DatabaseMetaData md = privateGetJDBCMetaData(); rs = md.getVersionColumns(ti.getCatalogName(), ti.getSchemaName(), ti.getSimpleName()); ResultSetDataSet rsds = new ResultSetDataSet(); rsds.setResultSet(rs, DialectFactory.getDialectType(this)); return rsds; } catch (SQLException e) { throw new DataSetException(e); } finally { SQLUtilities.closeResultSet(rs); }
Clone fragments detected by clone detection tool
File path: /sql12/fw/src/net/sourceforge/squirrel_sql/fw/sql/SQLDatabaseMetaData.java File path: /sql12/fw/src/net/sourceforge/squirrel_sql/fw/sql/SQLDatabaseMetaData.java
Method name: IDataSet getProcedureColumnsDataSet(IProcedureInfo) Method name: IDataSet getVersionColumnsDataSet(ITableInfo)
Number of AST nodes: 7 Number of AST nodes: 7
1
ResultSet rs = null;
1
ResultSet rs = null;
2
      try {
2
        try {
3
         DatabaseMetaData md = privateGetJDBCMetaData();
3
            DatabaseMetaData md = privateGetJDBCMetaData();
4
         rs = md.getProcedureColumns(ti.getCatalogName(),
4
            rs = md.getVersionColumns(ti.getCatalogName(),
5
                                     ti.getSchemaName(),
5
                                      ti.getSchemaName(),
6
                                     ti.getSimpleName(),
6
                                      ti.getSimpleName());
7
                                     "%");
7
   
8
         ResultSetDataSet rsds = new ResultSetDataSet();
8
         ResultSetDataSet rsds = new ResultSetDataSet();
9
         rsds.setResultSet(rs, DialectFactory.getDialectType(this));
9
            rsds.setResultSet(rs, DialectFactory.getDialectType(this));
10
         return rsds;
10
            return rsds;
11
      } catch (SQLException e) {
11
        } catch (SQLException e) {
12
         throw new DataSetException(e);
12
            throw new DataSetException(e);
13
      } finally {
13
        } finally {
14
         SQLUtilities.closeResultSet(rs);
14
            SQLUtilities.closeResultSet(rs);
15
      }
15
        }
Summary
Number of common nesting structure subtrees1
Number of refactorable cases0
Number of non-refactorable cases1
Time elapsed for finding largest common nesting structure subtrees (ms)0.2
Clones locationClones are declared in the same class
Number of node comparisons37
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements7
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)4.8
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    ResultSet rs = null;
    1
    ResultSet rs = null;
    2
    try
    2
    try
    3
    DatabaseMetaData md = privateGetJDBCMetaData();
    3
    DatabaseMetaData md = privateGetJDBCMetaData();
    4
    rs = md.getProcedureColumns(ti.getCatalogName(), ti.getSchemaName(), ti.getSimpleName(), "%");
    4
    rs = md.getProcedureColumns(ti.getCatalogName(), ti.getSchemaName(), ti.getSimpleName(), "%");
    4
    rs = md.getVersionColumns(ti.getCatalogName(), ti.getSchemaName(), ti.getSimpleName());
    Differences
    Expression1Expression2Difference
    getProcedureColumnsgetVersionColumnsMETHOD_INVOCATION_NAME_MISMATCH
    md.getProcedureColumns(ti.getCatalogName(),ti.getSchemaName(),ti.getSimpleName(),"%")md.getVersionColumns(ti.getCatalogName(),ti.getSchemaName(),ti.getSimpleName())ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression md.getProcedureColumns(ti.getCatalogName(),ti.getSchemaName(),ti.getSimpleName(),"%") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression md.getVersionColumns(ti.getCatalogName(),ti.getSchemaName(),ti.getSimpleName()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression md.getProcedureColumns(ti.getCatalogName(),ti.getSchemaName(),ti.getSimpleName(),"%") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression md.getVersionColumns(ti.getCatalogName(),ti.getSchemaName(),ti.getSimpleName()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    4
    rs = md.getVersionColumns(ti.getCatalogName(), ti.getSchemaName(), ti.getSimpleName());
    5
    ResultSetDataSet rsds = new ResultSetDataSet();
    5
    ResultSetDataSet rsds = new ResultSetDataSet();
    6
    rsds.setResultSet(rs, DialectFactory.getDialectType(this));
    6
    rsds.setResultSet(rs, DialectFactory.getDialectType(this));
    7
    return rsds;
    7
    return rsds;
    Precondition Violations (4)
    Row Violation
    1Expression md.getProcedureColumns(ti.getCatalogName(),ti.getSchemaName(),ti.getSimpleName(),"%") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression md.getVersionColumns(ti.getCatalogName(),ti.getSchemaName(),ti.getSimpleName()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Expression md.getProcedureColumns(ti.getCatalogName(),ti.getSchemaName(),ti.getSimpleName(),"%") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    4Expression md.getVersionColumns(ti.getCatalogName(),ti.getSchemaName(),ti.getSimpleName()) cannot be parameterized, because it has dependencies to/from statements that will be extracted