File path: /sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/IngresDialectExt.java | File path: /sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/HSQLDialectExt.java | |||
Method name: String[] getAddUniqueConstraintSQL(String, String, TableColumnInfo[], DatabaseObjectQualifier, SqlGenerationPreferences)
|
Method name: String getDropConstraintSQL(String, String, DatabaseObjectQualifier, SqlGenerationPreferences)
|
|||
Number of AST nodes: 3 | Number of AST nodes: 3 | |||
1 | StringTemplate st = new StringTemplate(ST_ADD_UNIQUE_CONSTRAINT_STYLE_TWO);↵ | 1 | StringTemplate st = new StringTemplate(ST_DROP_CONSTRAINT_STYLE_ONE);↵ | |
2 | HashMap<String, String> valuesMap =↵ | 2 | HashMap<String, String> valuesMap =↵ | |
3 | DialectUtils.getValuesMap(ST_TABLE_NAME_KEY, tableName, ST_CONSTRAINT_NAME_KEY, constraintName);↵ | 3 | DialectUtils.getValuesMap(ST_TABLE_NAME_KEY, tableName, ST_CONSTRAINT_NAME_KEY, constraintName);↵ | |
4 | return new String[] { DialectUtils.getAddUniqueConstraintSQL(st,↵ | 4 | return ↵ | |
5 | valuesMap,↵ | |||
6 | columns,↵ | |||
7 | qualifier,↵ | 5 | DialectUtils.bindTemplateAttributes(this, st, valuesMap, qualifier,↵ | |
8 | prefs,↵ | 6 | prefs↵ | |
9 | this) }; | 7 | ); | |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.0 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 5 |
Number of mapped statements | 2 |
Number of unmapped statements in the first code fragment | 1 |
Number of unmapped statements in the second code fragment | 1 |
Time elapsed for statement mapping (ms) | 0.0 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | StringTemplate st = new StringTemplate(ST_ADD_UNIQUE_CONSTRAINT_STYLE_TWO); |
| 1 | StringTemplate st = new StringTemplate(ST_DROP_CONSTRAINT_STYLE_ONE); | ||||||||||
2 | HashMap<String, String> valuesMap = DialectUtils.getValuesMap(ST_TABLE_NAME_KEY, tableName, ST_CONSTRAINT_NAME_KEY, constraintName); | 2 | HashMap<String, String> valuesMap = DialectUtils.getValuesMap(ST_TABLE_NAME_KEY, tableName, ST_CONSTRAINT_NAME_KEY, constraintName); | |||||||||||
|
| 3 | return DialectUtils.bindTemplateAttributes(this, st, valuesMap, qualifier, prefs); | |||||||||||
3 | return new String[] {DialectUtils.getAddUniqueConstraintSQL(st, valuesMap, columns, qualifier, prefs, this)}; |
| |
Row | Violation |
---|---|
1 | Unmatched statement return DialectUtils.bindTemplateAttributes(this,st,valuesMap,qualifier,prefs); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
2 | Unmatched return DialectUtils.bindTemplateAttributes(this,st,valuesMap,qualifier,prefs); |
3 | Unmatched statement return new String[]{DialectUtils.getAddUniqueConstraintSQL(st,valuesMap,columns,qualifier,prefs,this)}; cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
4 | Unmatched return new String[]{DialectUtils.getAddUniqueConstraintSQL(st,valuesMap,columns,qualifier,prefs,this)}; |
5 | Clone fragment #1 returns variables st, valuesMap , while Clone fragment #2 returns variables st, valuesMap |