boolean sizeMatters = desired.getSize() > 0;
boolean sizeMatters = desired.getSize() != null;
    protected boolean columnsDiffer( Column desired, Column current ) {        boolean result = false;        //The createColumn method leaves off the default clause if column.getDefaultValue()        //is null.  mySQL interprets this as a default of "" or 0, and thus the columns        //are always different according to this method.  alterDatabase will generate        //an alter statement for the column, but it will be the exact same definition        //as before.  In order to avoid this situation I am ignoring the comparison        //if the desired default is null.  In order to "un-default" a column you'll        //have to have a default="" or default="0" in the schema xml.        //If this is bad for other databases, it is recommended that the createColumn        //method use a "DEFAULT NULL" statement if that is what is needed.        //A good way to get this would be to require a defaultValue="<NULL>" in the        //schema xml if you really want null and not just unspecified.        String desiredDefault = desired.getDefaultValue();        String currentDefault = current.getDefaultValue();        boolean defaultsEqual = desiredDefault == null ||            desiredDefault.equals(currentDefault);        boolean sizeMatters = desired.getSize() > 0;        if ( desired.getTypeCode() != current.getTypeCode() ||                desired.isRequired() != current.isRequired() ||                (sizeMatters && desired.getSize() != current.getSize()) ||                desired.getScale() != current.getScale() ||                !defaultsEqual ||                desired.getPrecisionRadix() != current.getPrecisionRadix() )        {            result = true;        }        return result;    }