StringTemplate fkST = new StringTemplate(ST_ADD_FOREIGN_KEY_CONSTRAINT_STYLE_ONE);
HashMap<String, String> fkValuesMap = DialectUtils.getValuesMap(ST_CHILD_TABLE_KEY, localTableName);
fkValuesMap.put(ST_CONSTRAINT_KEY, "CONSTRAINT");
fkValuesMap.put(ST_CONSTRAINT_NAME_KEY, constraintName);
fkValuesMap.put(ST_PARENT_TABLE_KEY, refTableName);
StringTemplate childIndexST = null;
HashMap<String, String> ckIndexValuesMap = null;
if (autoFKIndex)
{
// "CREATE $unique$ $storageOption$ INDEX $indexName$ " +
// "ON $tableName$ ( $columnName; separator=\",\"$ )";
childIndexST = new StringTemplate(ST_CREATE_INDEX_STYLE_TWO);
ckIndexValuesMap = new HashMap<String, String>();
ckIndexValuesMap.put(ST_INDEX_NAME_KEY, "fk_child_idx");
}
return DialectUtils.getAddForeignKeyConstraintSQL(fkST,
fkValuesMap,
childIndexST,
ckIndexValuesMap,
localRefColumns,
qualifier,
prefs,
this);
StringTemplate fkST = new StringTemplate(ST_ADD_FOREIGN_KEY_CONSTRAINT_STYLE_ONE);
HashMap<String, String> fkValuesMap = DialectUtils.getValuesMap(ST_CHILD_TABLE_KEY, localTableName);
fkValuesMap.put(ST_CONSTRAINT_KEY, "CONSTRAINT");
fkValuesMap.put(ST_CONSTRAINT_NAME_KEY, constraintName);
fkValuesMap.put(ST_PARENT_TABLE_KEY, refTableName);
StringTemplate childIndexST = null;
HashMap<String, String> ckIndexValuesMap = null;
if (autoFKIndex)
{
// "CREATE $unique$ $storageOption$ INDEX $indexName$ " +
// "ON $tableName$ ( $columnName; separator=\",\"$ )";
childIndexST = new StringTemplate(ST_CREATE_INDEX_STYLE_TWO);
ckIndexValuesMap = new HashMap<String, String>();
ckIndexValuesMap.put(ST_INDEX_NAME_KEY, "fk_child_idx");
}
return DialectUtils.getAddForeignKeyConstraintSQL(fkST,
fkValuesMap,
childIndexST,
ckIndexValuesMap,
localRefColumns,
qualifier,
prefs,
this);
Clone fragments detected by clone detection tool
File path: /sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/HSQLDialectExt.java
|
|
File path: /sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/FirebirdDialectExt.java
|
Method name: String[] getAddForeignKeyConstraintSQL(String, String, String, Boolean, Boolean, Boolean, boolean, String, Collection, String, String, DatabaseObjectQualifier, SqlGenerationPreferences)
|
|
Method name: String[] getAddForeignKeyConstraintSQL(String, String, String, Boolean, Boolean, Boolean, boolean, String, Collection, String, String, DatabaseObjectQualifier, SqlGenerationPreferences)
|
Number of AST nodes: 12
|
|
Number of AST nodes: 12
|
|
1 | StringTemplate fkST = new StringTemplate(ST_ADD_FOREIGN_KEY_CONSTRAINT_STYLE_ONE);↵ | | 1 | StringTemplate fkST = new StringTemplate(ST_ADD_FOREIGN_KEY_CONSTRAINT_STYLE_ONE);↵
|
2 | HashMap<String, String> fkValuesMap = DialectUtils.getValuesMap(ST_CHILD_TABLE_KEY, localTableName);↵ | | 2 | HashMap<String, String> fkValuesMap = DialectUtils.getValuesMap(ST_CHILD_TABLE_KEY, localTableName);↵
|
3 | fkValuesMap.put(ST_CONSTRAINT_KEY, "CONSTRAINT");↵ | | 3 | fkValuesMap.put(ST_CONSTRAINT_KEY, "CONSTRAINT");↵
|
4 | fkValuesMap.put(ST_CONSTRAINT_NAME_KEY, constraintName);↵ | | 4 | fkValuesMap.put(ST_CONSTRAINT_NAME_KEY, constraintName);↵
|
5 | fkValuesMap.put(ST_PARENT_TABLE_KEY, refTableName);↵ | | 5 | fkValuesMap.put(ST_PARENT_TABLE_KEY, refTableName);↵
|
|
6 | StringTemplate childIndexST = null;↵ | | 6 | StringTemplate childIndexST = null;↵
|
7 | HashMap<String, String> ckIndexValuesMap = null;↵ | | 7 | HashMap<String, String> ckIndexValuesMap = null;↵
|
|
8 | if (autoFKIndex)↵ | | 8 | if (autoFKIndex)↵
|
9 | {↵ | | 9 | {↵
|
10 | // "CREATE $unique$ $storageOption$ INDEX $indexName$ " +↵ | | 10 | // "CREATE $unique$ $storageOption$ INDEX $indexName$ " +↵
|
11 | // "ON $tableName$ ( $columnName; separator=\",\"$ )";↵ | | 11 | // "ON $tableName$ ( $columnName; separator=\",\"$ )";↵
|
|
12 | childIndexST = new StringTemplate(ST_CREATE_INDEX_STYLE_TWO);↵ | | 12 | childIndexST = new StringTemplate(ST_CREATE_INDEX_STYLE_TWO);↵
|
13 | ckIndexValuesMap = new HashMap<String, String>();↵ | | 13 | ckIndexValuesMap = new HashMap<String, String>();↵
|
14 | ckIndexValuesMap.put(ST_INDEX_NAME_KEY, "fk_child_idx");↵ | | 14 | ckIndexValuesMap.put(ST_INDEX_NAME_KEY, "fk_child_idx");↵
|
15 | }↵ | | 15 | }↵
|
|
16 | return DialectUtils.getAddForeignKeyConstraintSQL(fkST,↵ | | 16 | return DialectUtils.getAddForeignKeyConstraintSQL(fkST,↵
|
17 | fkValuesMap,↵ | | 17 | fkValuesMap,↵
|
18 | childIndexST,↵ | | 18 | childIndexST,↵
|
19 | ckIndexValuesMap,↵ | | 19 | ckIndexValuesMap,↵
|
20 | localRefColumns,↵ | | 20 | localRefColumns,↵
|
21 | qualifier,↵ | | 21 | qualifier,↵
|
22 | prefs,↵ | | 22 | prefs,↵
|
23 | this); | | 23 | this);
|
See real code fragment |
|
See real code fragment |
Summary
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 1 |
Number of non-refactorable cases | 0 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.1 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 66 |
-
{Refactorable}
Mapping Summary
Number of mapped statements | 12 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 7.2 |
Clone type | Type 1 |
Mapped Statements
ID |
Statement |
|
ID |
Statement |
1 | StringTemplate fkST = new StringTemplate(ST_ADD_FOREIGN_KEY_CONSTRAINT_STYLE_ONE); | | 1 | StringTemplate fkST = new StringTemplate(ST_ADD_FOREIGN_KEY_CONSTRAINT_STYLE_ONE); |
2 | HashMap<String, String> fkValuesMap = DialectUtils.getValuesMap(ST_CHILD_TABLE_KEY, localTableName); | | 2 | HashMap<String, String> fkValuesMap = DialectUtils.getValuesMap(ST_CHILD_TABLE_KEY, localTableName); |
3 | fkValuesMap.put(ST_CONSTRAINT_KEY, "CONSTRAINT"); | | 3 | fkValuesMap.put(ST_CONSTRAINT_KEY, "CONSTRAINT"); |
4 | fkValuesMap.put(ST_CONSTRAINT_NAME_KEY, constraintName); | | 4 | fkValuesMap.put(ST_CONSTRAINT_NAME_KEY, constraintName); |
5 | fkValuesMap.put(ST_PARENT_TABLE_KEY, refTableName); | | 5 | fkValuesMap.put(ST_PARENT_TABLE_KEY, refTableName); |
6 | StringTemplate childIndexST = null; | | 6 | StringTemplate childIndexST = null; |
7 | HashMap<String, String> ckIndexValuesMap = null; | | 7 | HashMap<String, String> ckIndexValuesMap = null; |
8 | if (autoFKIndex) | | 8 | if (autoFKIndex) |
9 | childIndexST = new StringTemplate(ST_CREATE_INDEX_STYLE_TWO); | | 9 | childIndexST = new StringTemplate(ST_CREATE_INDEX_STYLE_TWO); |
10 | ckIndexValuesMap = new HashMap<String, String>(); | | 10 | ckIndexValuesMap = new HashMap<String, String>(); |
11 | ckIndexValuesMap.put(ST_INDEX_NAME_KEY, "fk_child_idx"); | | 11 | ckIndexValuesMap.put(ST_INDEX_NAME_KEY, "fk_child_idx"); |
12 | return DialectUtils.getAddForeignKeyConstraintSQL(fkST, fkValuesMap, childIndexST, ckIndexValuesMap, localRefColumns, qualifier, prefs, this); | | 12 | return DialectUtils.getAddForeignKeyConstraintSQL(fkST, fkValuesMap, childIndexST, ckIndexValuesMap, localRefColumns, qualifier, prefs, this); |
Precondition Violations (0)
Row |
Violation |