View Issue Details

IDProjectCategoryView StatusLast Update
0003647SymmetricDSBugpublic2018-07-25 16:26
ReportermstouteAssigned To 
PrioritylowSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version3.9.9 
Target VersionFixed in Version 
Summary0003647: dbcompare: unclear error for duplicate table names in srouce tables argument
DescriptionWhen running dbcompare from the commandline, with a duplicated table name in source tables argument yields the error "org.jumpmind.symmetric.SymmetricException: Source table names must be the same length as the list of target table names."

This is misleading as the source_tables and target_tables arguments were in fact the same length. A clearer error message could be 'duplicate table name detected in argument source_tables: <table_name>'.

In the Error mesage in steps to reproduce, the last line shows table 'x' four times, but it was only provided twice. This explains the resulting 'Not Same Length' exception message. The fact that table 'x' has doubled here may be alarming (inadvertent loop).

In a large list (100's) of tables with a single duplicate table name, the cause is much harder to spot, and a clearer error message would be very helpful.
Steps To ReproduceWith dbcompare.properties like:
source_tables=x,a,b,c,d,x
target_tables=x,a,b,c,d,x

and valid source/target configuration, running dbcompare yields:



SymmetricDS_dbcompare] - DbCompare - Starting DBCompare with config:
    sourceTableNames=[x, a, b, c, d, x] @dbcompare.properties
    targetTableNames=[x, a, b, c, d, x] @dbcompare.properties
    excludedTableNames=null @default
    useSymmetricConfig=false @default
    numericScale=3 @default
    whereClauses={}@default
    tablesToExcludedColumns={} @default
    outputSql=null @null

-------------------------------------------------------------------------------
An exception occurred. Please see the following for details:
-------------------------------------------------------------------------------
org.jumpmind.symmetric.SymmetricException: Source table names must be the same length as the list of target table names. Check your arguments. source table names = [x, x, a, b, c, d, x, x] target table names = [x, a, b, c, d, x]
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2018-07-25 16:26 mstoute New Issue