MariaDB Connector 3.x results in "class [B cannot be cast to class java.lang.String"
See original GitHub issueEnvironment
Liquibase Version: 4.7.1
Liquibase Integration & Version: maven
Liquibase Extension(s) & Version: liquibase-percona 4.8.1-SNAPSHOT
Database Vendor & Version: MariaDB 10 + MariaDB Connector < 3.0.4
Operating System Type & Version: Linux
Description
In the liquibase-percona extension I use the snapshot feature (SnapshotGeneratorFactory.getInstance().createSnapshot(...)
) to determine existing foreign keys of a table.
With MariaDB Connector 3.0.3 this results in an “java.lang.IllegalArgumentException: Unexpected datatype NULL”. The same problem is also described at https://forum.liquibase.org/t/fresh-install-giving-unusual-unexpected-datatype-null/6170
Here's the full stacktrace
liquibase.exception.MigrationFailedException: Migration failed for change set test-changelog.xml::9::Alice:
Reason: java.lang.IllegalArgumentException: Unexpected datatype NULL
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException:
Error setting up or running Liquibase:
liquibase.exception.MigrationFailedException: Migration failed for change set test-changelog.xml::9::Alice:
Reason: java.lang.IllegalArgumentException: Unexpected datatype NULL
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute (AbstractLiquibaseMojo.java:491)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException:
Error setting up or running Liquibase:
liquibase.exception.MigrationFailedException: Migration failed for change set test-changelog.xml::9::Alice:
Reason: java.lang.IllegalArgumentException: Unexpected datatype NULL
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$null$0 (AbstractLiquibaseMojo.java:482)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$execute$1 (AbstractLiquibaseMojo.java:410)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Scope.child (Scope.java:243)
at liquibase.Scope.child (Scope.java:247)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute (AbstractLiquibaseMojo.java:347)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: liquibase.exception.LiquibaseException: liquibase.exception.MigrationFailedException: Migration failed for change set test-changelog.xml::9::Alice:
Reason: java.lang.IllegalArgumentException: Unexpected datatype NULL
at liquibase.changelog.ChangeLogIterator.run (ChangeLogIterator.java:124)
at liquibase.Liquibase.lambda$null$0 (Liquibase.java:265)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Scope.child (Scope.java:243)
at liquibase.Liquibase.lambda$update$1 (Liquibase.java:264)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Liquibase.runInScope (Liquibase.java:2405)
at liquibase.Liquibase.update (Liquibase.java:211)
at liquibase.Liquibase.update (Liquibase.java:197)
at liquibase.Liquibase.update (Liquibase.java:584)
at org.liquibase.maven.plugins.LiquibaseUpdate.doUpdate (LiquibaseUpdate.java:35)
at org.liquibase.maven.plugins.AbstractLiquibaseUpdateMojo.performLiquibaseTask (AbstractLiquibaseUpdateMojo.java:32)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$null$0 (AbstractLiquibaseMojo.java:479)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$execute$1 (AbstractLiquibaseMojo.java:410)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Scope.child (Scope.java:243)
at liquibase.Scope.child (Scope.java:247)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute (AbstractLiquibaseMojo.java:347)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set test-changelog.xml::9::Alice:
Reason: java.lang.IllegalArgumentException: Unexpected datatype NULL
at liquibase.changelog.ChangeSet.execute (ChangeSet.java:695)
at liquibase.changelog.visitor.UpdateVisitor.visit (UpdateVisitor.java:56)
at liquibase.changelog.ChangeLogIterator$2.lambda$null$0 (ChangeLogIterator.java:111)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.changelog.ChangeLogIterator$2.lambda$run$1 (ChangeLogIterator.java:110)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Scope.child (Scope.java:243)
at liquibase.changelog.ChangeLogIterator$2.run (ChangeLogIterator.java:94)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Scope.child (Scope.java:243)
at liquibase.Scope.child (Scope.java:247)
at liquibase.changelog.ChangeLogIterator.run (ChangeLogIterator.java:66)
at liquibase.Liquibase.lambda$null$0 (Liquibase.java:265)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Scope.child (Scope.java:243)
at liquibase.Liquibase.lambda$update$1 (Liquibase.java:264)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Liquibase.runInScope (Liquibase.java:2405)
at liquibase.Liquibase.update (Liquibase.java:211)
at liquibase.Liquibase.update (Liquibase.java:197)
at liquibase.Liquibase.update (Liquibase.java:584)
at org.liquibase.maven.plugins.LiquibaseUpdate.doUpdate (LiquibaseUpdate.java:35)
at org.liquibase.maven.plugins.AbstractLiquibaseUpdateMojo.performLiquibaseTask (AbstractLiquibaseUpdateMojo.java:32)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$null$0 (AbstractLiquibaseMojo.java:479)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$execute$1 (AbstractLiquibaseMojo.java:410)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Scope.child (Scope.java:243)
at liquibase.Scope.child (Scope.java:247)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute (AbstractLiquibaseMojo.java:347)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.lang.IllegalArgumentException: Unexpected datatype NULL
at org.mariadb.jdbc.message.server.ColumnDefinitionPacket.getDefaultCodec (ColumnDefinitionPacket.java:396)
at org.mariadb.jdbc.client.result.Result.getObject (Result.java:601)
at liquibase.util.JdbcUtil.getResultSetValue (JdbcUtil.java:80)
at liquibase.executor.jvm.ColumnMapRowMapper.getColumnValue (ColumnMapRowMapper.java:72)
at liquibase.snapshot.ResultSetCache$ResultSetExtractor$1.getColumnValue (ResultSetCache.java:320)
at liquibase.executor.jvm.ColumnMapRowMapper.mapRow (ColumnMapRowMapper.java:34)
at liquibase.executor.jvm.RowMapperResultSetExtractor.extractData (RowMapperResultSetExtractor.java:72)
at liquibase.snapshot.ResultSetCache$ResultSetExtractor.extract (ResultSetCache.java:343)
at liquibase.snapshot.ResultSetCache$ResultSetExtractor.extract (ResultSetCache.java:308)
at liquibase.snapshot.JdbcDatabaseSnapshot$CachingDatabaseMetaData$2.fastFetchQuery (JdbcDatabaseSnapshot.java:1032)
at liquibase.snapshot.ResultSetCache$SingleResultSetExtractor.fastFetch (ResultSetCache.java:367)
at liquibase.snapshot.ResultSetCache.get (ResultSetCache.java:72)
at liquibase.snapshot.JdbcDatabaseSnapshot$CachingDatabaseMetaData.getTables (JdbcDatabaseSnapshot.java:989)
at liquibase.snapshot.jvm.TableSnapshotGenerator.snapshotObject (TableSnapshotGenerator.java:34)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot (JdbcSnapshotGenerator.java:66)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot (SnapshotGeneratorChain.java:49)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot (JdbcSnapshotGenerator.java:69)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot (SnapshotGeneratorChain.java:49)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot (JdbcSnapshotGenerator.java:69)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot (SnapshotGeneratorChain.java:49)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot (JdbcSnapshotGenerator.java:69)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot (SnapshotGeneratorChain.java:49)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot (JdbcSnapshotGenerator.java:69)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot (SnapshotGeneratorChain.java:49)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot (JdbcSnapshotGenerator.java:69)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot (SnapshotGeneratorChain.java:49)
at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot (JdbcSnapshotGenerator.java:69)
at liquibase.snapshot.SnapshotGeneratorChain.snapshot (SnapshotGeneratorChain.java:49)
at liquibase.snapshot.DatabaseSnapshot.include (DatabaseSnapshot.java:312)
at liquibase.snapshot.DatabaseSnapshot.init (DatabaseSnapshot.java:105)
at liquibase.snapshot.DatabaseSnapshot.<init> (DatabaseSnapshot.java:58)
at liquibase.snapshot.JdbcDatabaseSnapshot.<init> (JdbcDatabaseSnapshot.java:34)
at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot (SnapshotGeneratorFactory.java:215)
at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot (SnapshotGeneratorFactory.java:244)
at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot (SnapshotGeneratorFactory.java:228)
at liquibase.ext.percona.PerconaConstraintsService.findForeignKey (PerconaConstraintsService.java:79)
at liquibase.ext.percona.PerconaConstraintsService.determineCurrentConstraintName (PerconaConstraintsService.java:66)
at liquibase.ext.percona.PerconaDropForeignKeyConstraintChange.generateAlterStatement (PerconaDropForeignKeyConstraintChange.java:59)
at liquibase.ext.percona.PerconaChangeUtil.generateStatements (PerconaChangeUtil.java:99)
at liquibase.ext.percona.PerconaDropForeignKeyConstraintChange.generateStatements (PerconaDropForeignKeyConstraintChange.java:50)
at liquibase.change.AbstractChange.generateStatementsVolatile (AbstractChange.java:297)
at liquibase.changelog.ChangeSet.execute (ChangeSet.java:655)
at liquibase.changelog.visitor.UpdateVisitor.visit (UpdateVisitor.java:56)
at liquibase.changelog.ChangeLogIterator$2.lambda$null$0 (ChangeLogIterator.java:111)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.changelog.ChangeLogIterator$2.lambda$run$1 (ChangeLogIterator.java:110)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Scope.child (Scope.java:243)
at liquibase.changelog.ChangeLogIterator$2.run (ChangeLogIterator.java:94)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Scope.child (Scope.java:243)
at liquibase.Scope.child (Scope.java:247)
at liquibase.changelog.ChangeLogIterator.run (ChangeLogIterator.java:66)
at liquibase.Liquibase.lambda$null$0 (Liquibase.java:265)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Scope.child (Scope.java:243)
at liquibase.Liquibase.lambda$update$1 (Liquibase.java:264)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Liquibase.runInScope (Liquibase.java:2405)
at liquibase.Liquibase.update (Liquibase.java:211)
at liquibase.Liquibase.update (Liquibase.java:197)
at liquibase.Liquibase.update (Liquibase.java:584)
at org.liquibase.maven.plugins.LiquibaseUpdate.doUpdate (LiquibaseUpdate.java:35)
at org.liquibase.maven.plugins.AbstractLiquibaseUpdateMojo.performLiquibaseTask (AbstractLiquibaseUpdateMojo.java:32)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$null$0 (AbstractLiquibaseMojo.java:479)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$execute$1 (AbstractLiquibaseMojo.java:410)
at liquibase.Scope.lambda$child$0 (Scope.java:180)
at liquibase.Scope.child (Scope.java:189)
at liquibase.Scope.child (Scope.java:179)
at liquibase.Scope.child (Scope.java:158)
at liquibase.Scope.child (Scope.java:243)
at liquibase.Scope.child (Scope.java:247)
at org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute (AbstractLiquibaseMojo.java:347)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
This is the query, that is being executed by liquibase:
SELECT TABLE_SCHEMA TABLE_CAT, NULL TABLE_SCHEM, TABLE_NAME, IF(TABLE_TYPE='BASE TABLE' or TABLE_TYPE='SYSTEM VERSIONED', 'TABLE', TABLE_TYPE) as TABLE_TYPE, TABLE_COMMENT REMARKS, NULL TYPE_CAT, NULL TYPE_SCHEM, NULL TYPE_NAME, NULL SELF_REFERENCING_COL_NAME, NULL REF_GENERATION
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='testdb' AND TABLE_NAME='address' AND TABLE_TYPE IN ('BASE TABLE','SYSTEM VERSIONED') ORDER BY TABLE_TYPE, TABLE_SCHEMA, TABLE_NAME
Steps To Reproduce
This shows up an an integration test that uses the “dropForeignKeyConstraint” change together with liquibase-percona. See https://github.com/liquibase/liquibase-percona/pull/180 and the build logs there. The integration test is this: https://github.com/liquibase/liquibase-percona/tree/main/src/it/allChangesLiquibaseMariaDB just run with MariaDB Connecto 3.0.3 instead of 2.7.5.
Actual Behavior
- java.lang.IllegalArgumentException: Unexpected datatype NULL
Expected/Desired Behavior
- no exception
Issue Analytics
- State:
- Created 2 years ago
- Reactions:3
- Comments:11 (6 by maintainers)
Top GitHub Comments
Issue created over at MariaDB Jira: https://jira.mariadb.org/browse/CONJ-924
@kataggart The new release of mariadb connector/j is available now: https://github.com/mariadb-corporation/mariadb-connector-j/releases/tag/3.0.4
The problems with liquibase appear to be fixed now, so I’m closing this issue.