err (") expected");
}
next();
}
Column col = new Column (columnName);
if (columnPrecision != null)
columnSize = columnSize + columnPrecision;
col.setTypeFromString (columnType,columnSize);
tbl.addColumn (col);
if ( inEnum )
{
col.setNotNull(true);
if (columnDefault != null)
{
col.setDefaultValue(columnDefault);
}
}
else
{
while (!token.getStr().equals(",") && !token.getStr().equals(")"))
{
if (token.getStr().toUpperCase().equals("NOT"))
{
next();
if (!token.getStr().toUpperCase().equals("NULL"))
err ("NULL expected after NOT");
col.setNotNull(true);
next();
}
else if (token.getStr().toUpperCase().equals("PRIMARY"))
{
next();
if (!token.getStr().toUpperCase().equals("KEY"))
err ("KEY expected after PRIMARY");
col.setPrimaryKey(true);
next();
}
else if (token.getStr().toUpperCase().equals("UNIQUE"))
{
col.setUnique(true);
next();
}
else if (token.getStr().toUpperCase().equals("NULL"))
{
col.setNotNull(false);
next();
}
else if (token.getStr().toUpperCase().equals("AUTO_INCREMENT"))
{
col.setAutoIncrement(true);
next();
}
else if (token.getStr().toUpperCase().equals("DEFAULT"))
{
next();
if (token.getStr().equals("'"))
{
next();
}
col.setDefaultValue(token.getStr());
next();
if (token.getStr().equals("'"))
{
next();
}