protected boolean appendColumnDataType()

in empire-db/src/main/java/org/apache/empire/dbms/mysql/MySQLDDLGenerator.java [69:114]


    protected boolean appendColumnDataType(DataType type, double size, DBTableColumn c, DBSQLBuilder sql)
    {
        switch (type)
        {
            case AUTOINC:
            { // Auto increment
                super.appendColumnDataType(type, size, c, sql);
                if (dbms.isUseSequenceTable()==false)
                    sql.append(" AUTO_INCREMENT");
                break;
            }
            case INTEGER:
            {   
            	int bytes = Math.abs((int) size);
            	if (bytes > 0 && bytes <= 1)
            	{
            		sql.append(DATATYPE_INT_TINY);
            	}
            	else if (bytes > 0 && bytes <= 2)
            	{
	                sql.append(DATATYPE_INT_SMALL);
            	}
            	else if (bytes > 0 && bytes <= 3)
            	{
	                sql.append(DATATYPE_INT_MEDIUM);
            	}
	            else if (bytes > 0 && bytes <= 4)
	            {
	                sql.append(DATATYPE_INTEGER);
	            }
	            else if (bytes > 0 && bytes <= 8)
	            {
	                sql.append(DATATYPE_INT_BIG);
	            }
	            else 
	            {	// Default
	                sql.append(DATATYPE_INTEGER);  // Default integer length
	            }
            	break;
            }
           default:
                // use default
                return super.appendColumnDataType(type, size, c, sql);
        }
        return true;
    }