### Eclipse Workspace Patch 1.0 #P com.metamatrix.modeler.jdbc.relational Index: src/com/metamatrix/modeler/jdbc/relational/impl/RelationalModelProcessorImpl.java =================================================================== RCS file: /cvs/dev/com.metamatrix.modeler.jdbc.relational/src/com/metamatrix/modeler/jdbc/relational/impl/RelationalModelProcessorImpl.java,v retrieving revision 1.28.8.3.12.2.2.1 diff -u -r1.28.8.3.12.2.2.1 RelationalModelProcessorImpl.java --- src/com/metamatrix/modeler/jdbc/relational/impl/RelationalModelProcessorImpl.java 3 Feb 2009 07:18:02 -0000 1.28.8.3.12.2.2.1 +++ src/com/metamatrix/modeler/jdbc/relational/impl/RelationalModelProcessorImpl.java 24 Jul 2009 20:44:27 -0000 @@ -1224,9 +1224,33 @@ column.setNullable( NullableType.NULLABLE_UNKNOWN_LITERAL ); break; } - + if ( defaultValue != null ) { - column.setDefaultValue(defaultValue); + // Issue 320335 / JIRA JBEDSP-1069 + // Handle incoming type BIT, which maps to boolean built-in type + if(type == Types.BIT) { + // Set nullable + column.setNullable( NullableType.NULLABLE_LITERAL ); + + // Set boolean true or false, depending on incoming bit value for MySQL case + char[] charArray = defaultValue.toCharArray(); + if(charArray.length==1) { + int charIntVal = (int)charArray[0]; + // Set boolean FALse for incoming 0, TRUE for 1 + if(charIntVal==0) { + column.setDefaultValue(Boolean.FALSE.toString()); + } else if(charIntVal==1) { + column.setDefaultValue(Boolean.TRUE.toString()); + } + // Set boolean true or false for SQLServer parens string case + } else if (defaultValue.trim().equals("(0)")) { //$NON-NLS-1$ + column.setDefaultValue(Boolean.FALSE.toString()); + } else if (defaultValue.trim().equals("(1)")) { //$NON-NLS-1$ + column.setDefaultValue(Boolean.TRUE.toString()); + } + } else { + column.setDefaultValue(defaultValue); + } } column.setSelectable(true); column.setUpdateable(true); @@ -1234,7 +1258,7 @@ if ( numPrecRadix != 0 ) { column.setRadix(numPrecRadix); } - + // Don't currently know how to get these ... //column.setFormat(""); //column.setMaximumValue("");