KilianB / JImageHash

Perceptual image hashing library used to match similar images
MIT License
397 stars 80 forks source link

Attempting to recreate tables that already exist with DatabaseMatcher #72

Open JustTalDevelops opened 2 months ago

JustTalDevelops commented 2 months ago
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
JustTalDevelops commented 2 months ago

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?