Quantcast
Channel: Liquibase Forums
Viewing all articles
Browse latest Browse all 2993

Re : Problem with Preconditions in Version 3.3

$
0
0
I have the same issue even without preconditions defined. When upgrading from version 3.2.2 to 3.3.2, Liquibase suddenly runs a "SHOW FULL COLUMNS..." query for every table in the database.

To verify the difference, I created a database (MySQL) with 3 tables and ran liquibase with "updateSQL" on both versions. Below is the output of the general query log for each run.

With Liquibase 3.2.2:
  1. Connect    root@localhost on test
    Query    SHOW SESSION VARIABLES
    Query    SHOW COLLATION
    Query    SET character_set_results = NULL
    Query    SET autocommit=1
    Query    SET sql_mode='STRICT_TRANS_TABLES'
    Query    SELECT USER()
    Query    SET autocommit=0
    Query    SELECT USER()
    Query    rollback
    Query    SHOW FULL TABLES FROM `test` LIKE 'databasechangeloglock'
    Query    select count(*) from test.DATABASECHANGELOGLOCK
    Query    commit
    Query    rollback
    Query    SHOW FULL TABLES FROM `test` LIKE 'databasechangelog'
    Query    SHOW FULL TABLES FROM `test` LIKE 'databasechangelog'
    Query    SHOW FULL COLUMNS FROM `databasechangelog` FROM `test` LIKE '%'
    Query    SELECT MD5SUM FROM test.DATABASECHANGELOG WHERE MD5SUM IS NOT NULL
    Query    SHOW FULL TABLES FROM `test` LIKE 'databasechangelog'
    Query    SELECT FILENAME,AUTHOR,ID,MD5SUM,DATEEXECUTED,ORDEREXECUTED,EXECTYPE,DESCRIPTION,COMMENTS,TAG,LIQUIBASE FROM test.DATABASECHANGELOG ORDER BY DATEEXECUTED ASC, ORDEREXECUTED ASC
    Query    commit
    Query    SHOW FULL TABLES FROM `test` LIKE 'databasechangeloglock'
    Query    select count(*) from test.DATABASECHANGELOGLOCK
    Query    rollback
    Query    SHOW FULL TABLES FROM `test` LIKE 'databasechangeloglock'
    Query    rollback
    Query    commit
    Query    rollback
    Query    SHOW FULL TABLES FROM `test` LIKE 'databasechangeloglock'
    Query    rollback
    Query    commit
    Query    rollback
    Query    rollback
    Query    SET autocommit=1
    Quit    

Liquibase 3.3.2:

  1. Connect    root@localhost on test
    Query    SHOW SESSION VARIABLES
    Query    SHOW COLLATION
    Query    SET character_set_results = NULL
    Query    SET autocommit=1
    Query    SET sql_mode='STRICT_TRANS_TABLES'
    Query    SELECT USER()
    Query    SET autocommit=0
    Query    SELECT USER()
    Query    rollback
    Query    SHOW FULL TABLES FROM `test` LIKE 'databasechangeloglock'
    Query    select count(*) from test.DATABASECHANGELOGLOCK
    Query    commit
    Query    rollback
    Query    SHOW FULL TABLES FROM `test` LIKE 'databasechangelog'
    Query    SHOW FULL TABLES FROM `test` LIKE '%'
    Query    SHOW FULL COLUMNS FROM `databasechangelog` FROM `test` LIKE '%'
    Query    SHOW FULL COLUMNS FROM `databasechangeloglock` FROM `test` LIKE '%'
    Query    SHOW FULL COLUMNS FROM `table1` FROM `test` LIKE '%'
    Query    SHOW FULL COLUMNS FROM `table2` FROM `test` LIKE '%'
    Query    SHOW FULL COLUMNS FROM `table3` FROM `test` LIKE '%'
    Query    SELECT MD5SUM FROM test.DATABASECHANGELOG WHERE MD5SUM IS NOT NULL
    Query    SHOW FULL TABLES FROM `test` LIKE 'databasechangelog'
    Query    SELECT FILENAME,AUTHOR,ID,MD5SUM,DATEEXECUTED,ORDEREXECUTED,EXECTYPE,DESCRIPTION,COMMENTS,TAG,LIQUIBASE FROM test.DATABASECHANGELOG ORDER BY DATEEXECUTED ASC, ORDEREXECUTED ASC
    Query    commit
    Query    rollback
    Query    rollback
    Query    commit
    Query    rollback
    Query    rollback
    Query    SET autocommit=1
    Quit

As you see, in the latter example it runs queries like "SHOW FULL COLUMNS FROM `table1` FROM `test` LIKE '%'" for each of the tables in the database. And in rainer.spruenkens case, this will lead to the execution of 26.000 queries...


Viewing all articles
Browse latest Browse all 2993

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>