KilianB/JImageHash

Attempting to recreate tables that already exist with DatabaseMatcher

Opened this issue · 1 comments

Class.forName("com.mysql.cj.jdbc.Driver").newInstance();

var conn = DriverManager.getConnection(...);

imageMatcher = new DatabaseImageMatcher(conn);
imageMatcher.addHashingAlgorithm(hasher, 1);

Doing this first causes the library to throw the following exception:

java.sql.SQLSyntaxErrorException: Table 'WaveletHash89644008' already exists

On subsequent restarts, this also seems to happen on the main table:

java.sql.SQLSyntaxErrorException: Table 'ImageHasher' already exists

image

Looking at the code, it seems to be coming from this function making the table name uppercase before checking if it exists. Passing the name as is seems to return the expected output here. Any idea why this is?