I just stumbled on this buried treasure in {{OracleDialect}}:
{code:java} case Types.DECIMAL: if ( scale == 0 ) { switch ( precision ) { case 1: return jdbcTypeRegistry.getDescriptor( Types.BOOLEAN );{code}
Of course, {{precision==1}} means one _decimal_ digit of precision, not one bit.
NowUPDATE: So, _just by pure luck OK,_ this doesn’t break anything because in Oracle pre-23c is for reverse engineering I guess, we map {{BOOLEAN}} but it still seems pretty wrong to assume that every {{numberNUMBER(1,0)}}, but by the same token that whole block of code looks just completely pointless is a boolean value and not a one digit decimal.
I believe it should be deleted. |
|