Package org.pjdbc.sql
Class RenameTransformer
java.lang.Object
org.pjdbc.sql.AbstractJdbcTransformer
org.pjdbc.sql.RenameTransformer
- All Implemented Interfaces:
JdbcTransformer
Transformer that renames identifiers (table names, column names) in SQL.
Performs case-insensitive word-boundary replacement of identifiers. Preserves the original case of surrounding SQL.
URL Configuration
jdbc:filter[rename.OLD_NAME=NEW_NAME]:jdbc:... jdbc:filter[rename.users=customers,rename.created=created_at]:jdbc:...
Limitations
- Uses regex word boundaries - may not handle all SQL dialects perfectly
- Does not parse SQL - works on raw string matching
- Quoted identifiers are still matched (no special handling for "name" or [name])
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a RenameTransformer with no initial replacements. -
Method Summary
Modifier and TypeMethodDescriptionAdd a rename rule.transformSql(String sql) Default implementation returns SQL unchanged.Methods inherited from class org.pjdbc.sql.AbstractJdbcTransformer
transformParameter, transformResultValue
-
Constructor Details
-
RenameTransformer
public RenameTransformer()Create a RenameTransformer with no initial replacements.
-
-
Method Details
-
addRename
Add a rename rule.- Parameters:
oldName- the identifier to find (case-insensitive)newName- the replacement identifier- Returns:
- this transformer for chaining
-
transformSql
Description copied from class:AbstractJdbcTransformerDefault implementation returns SQL unchanged.- Specified by:
transformSqlin interfaceJdbcTransformer- Overrides:
transformSqlin classAbstractJdbcTransformer- Parameters:
sql- Original SQL string- Returns:
- Transformed SQL string
- Throws:
SQLException- if transformation fails
-