Originally posted by: Laird
My next change, called out by my colleague and fellow Liquibase forum poster Dan Maranan, is to change the InformixTypeConverter.java.
In its line 1119, it returns ‘t’ (note the single quotes) as the proper value for a boolean type conversion. This causes a syntax error. The correct result should simply be t (no single quotes; t, the literal, is apparently a valid value for a boolean field). The same is true obviously of the false value.
This is actually incorrect as well. The root issue lies elsewhere, as Informix does not in fact treat a single unquoted t as a boolean truth value (it seemed weird to me, but I don’t really know Informix that well).
In point of fact, the root issue lies in BooleanType.java, which will double quote certain string values when a TypeConverter returns an already-quoted value. So it looks like this issue is not Informix-specific–it is specific to any TypeConverter implementation for any database that returns a quoted string for…well, probably for any data type.
There are various ways to fix this, but have a look at BooleanType.java line 1803 and the block that contains it. I won’t check in an obvious fix (check not just for raw digits, but also for quoted values) until I’m told that’s the right way to proceed.