Search in sources :

Example 1 with Alter

use of net.sf.jsqlparser.statement.alter.Alter in project herddb by diennea.

the class SQLPlanner method plan.

@Override
public ExecutionPlan plan(String defaultTableSpace, net.sf.jsqlparser.statement.Statement stmt, boolean scan, boolean returnValues, int maxRows) {
    verifyJdbcParametersIndexes(stmt);
    ExecutionPlan result;
    if (stmt instanceof CreateTable) {
        result = ExecutionPlan.simple(buildCreateTableStatement(defaultTableSpace, (CreateTable) stmt));
    } else if (stmt instanceof CreateIndex) {
        result = ExecutionPlan.simple(buildCreateIndexStatement(defaultTableSpace, (CreateIndex) stmt));
    } else if (stmt instanceof Insert) {
        result = buildInsertStatement(defaultTableSpace, (Insert) stmt, returnValues);
    } else if (stmt instanceof Delete) {
        result = buildDeleteStatement(defaultTableSpace, (Delete) stmt, returnValues);
    } else if (stmt instanceof Update) {
        result = buildUpdateStatement(defaultTableSpace, (Update) stmt, returnValues);
    } else if (stmt instanceof Select) {
        result = buildSelectStatement(defaultTableSpace, (Select) stmt, scan, maxRows);
    } else if (stmt instanceof Execute) {
        result = ExecutionPlan.simple(buildExecuteStatement(defaultTableSpace, (Execute) stmt));
    } else if (stmt instanceof Alter) {
        result = ExecutionPlan.simple(buildAlterStatement(defaultTableSpace, (Alter) stmt));
    } else if (stmt instanceof Drop) {
        result = ExecutionPlan.simple(buildDropStatement(defaultTableSpace, (Drop) stmt));
    } else if (stmt instanceof Truncate) {
        result = ExecutionPlan.simple(buildTruncateStatement(defaultTableSpace, (Truncate) stmt));
    } else {
        return null;
    }
    return result;
}
Also used : Delete(net.sf.jsqlparser.statement.delete.Delete) Alter(net.sf.jsqlparser.statement.alter.Alter) ExecutionPlan(herddb.model.ExecutionPlan) CreateIndex(net.sf.jsqlparser.statement.create.index.CreateIndex) Execute(net.sf.jsqlparser.statement.execute.Execute) CreateTable(net.sf.jsqlparser.statement.create.table.CreateTable) PlainSelect(net.sf.jsqlparser.statement.select.PlainSelect) Select(net.sf.jsqlparser.statement.select.Select) Truncate(net.sf.jsqlparser.statement.truncate.Truncate) Insert(net.sf.jsqlparser.statement.insert.Insert) Update(net.sf.jsqlparser.statement.update.Update) Drop(net.sf.jsqlparser.statement.drop.Drop)

Example 2 with Alter

use of net.sf.jsqlparser.statement.alter.Alter in project herddb by diennea.

the class TableSpaceMapper method getTableSpace.

public String getTableSpace(Statement statement) throws ScriptException {
    String tableName = null;
    if (statement instanceof Insert) {
        Insert st = (Insert) statement;
        tableName = st.getTable().getFullyQualifiedName();
    } else if (statement instanceof Update) {
        Update st = (Update) statement;
        tableName = st.getTable().getFullyQualifiedName();
    } else if (statement instanceof Delete) {
        Delete st = (Delete) statement;
        tableName = st.getTables().get(0).getFullyQualifiedName();
    } else if (statement instanceof Truncate) {
        Truncate st = (Truncate) statement;
        tableName = st.getTable().getFullyQualifiedName();
    } else if (statement instanceof Drop) {
        Drop st = (Drop) statement;
        tableName = st.getName().getFullyQualifiedName();
    } else if (statement instanceof CreateTable) {
        CreateTable st = (CreateTable) statement;
        tableName = st.getTable().getFullyQualifiedName();
    } else if (statement instanceof Alter) {
        Alter st = (Alter) statement;
        tableName = st.getTable().getFullyQualifiedName();
    } else {
        return null;
    }
    return mapTableNameToSchema(tableName);
}
Also used : Delete(net.sf.jsqlparser.statement.delete.Delete) Alter(net.sf.jsqlparser.statement.alter.Alter) CreateTable(net.sf.jsqlparser.statement.create.table.CreateTable) Truncate(net.sf.jsqlparser.statement.truncate.Truncate) Insert(net.sf.jsqlparser.statement.insert.Insert) Update(net.sf.jsqlparser.statement.update.Update) Drop(net.sf.jsqlparser.statement.drop.Drop)

Example 3 with Alter

use of net.sf.jsqlparser.statement.alter.Alter in project JSqlParser by JSQLParser.

the class AlterTest method testAlterTableAddColumn4.

public void testAlterTableAddColumn4() throws JSQLParserException {
    assertSqlCanBeParsedAndDeparsed("ALTER TABLE mytable ADD COLUMN col1 varchar (255), ADD COLUMN col2 integer");
    Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE mytable ADD COLUMN col1 varchar (255), ADD COLUMN col2 integer");
    Alter alter = (Alter) stmt;
    List<AlterExpression> alterExps = alter.getAlterExpressions();
    AlterExpression col1Exp = alterExps.get(0);
    AlterExpression col2Exp = alterExps.get(1);
    List<ColumnDataType> col1DataTypes = col1Exp.getColDataTypeList();
    List<ColumnDataType> col2DataTypes = col2Exp.getColDataTypeList();
    assertEquals("col1", col1DataTypes.get(0).getColumnName());
    assertEquals("col2", col2DataTypes.get(0).getColumnName());
    assertEquals("varchar (255)", col1DataTypes.get(0).getColDataType().toString());
    assertEquals("integer", col2DataTypes.get(0).getColDataType().toString());
}
Also used : Alter(net.sf.jsqlparser.statement.alter.Alter) Statement(net.sf.jsqlparser.statement.Statement) ColumnDataType(net.sf.jsqlparser.statement.alter.AlterExpression.ColumnDataType) AlterExpression(net.sf.jsqlparser.statement.alter.AlterExpression)

Example 4 with Alter

use of net.sf.jsqlparser.statement.alter.Alter in project JSqlParser by JSQLParser.

the class AlterTest method testAlterTableAddColumnWithZone.

public void testAlterTableAddColumnWithZone() throws JSQLParserException {
    assertSqlCanBeParsedAndDeparsed("ALTER TABLE mytable ADD COLUMN col1 timestamp with time zone");
    assertSqlCanBeParsedAndDeparsed("ALTER TABLE mytable ADD COLUMN col1 timestamp without time zone");
    assertSqlCanBeParsedAndDeparsed("ALTER TABLE mytable ADD COLUMN col1 date with time zone");
    assertSqlCanBeParsedAndDeparsed("ALTER TABLE mytable ADD COLUMN col1 date without time zone");
    Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE mytable ADD COLUMN col1 timestamp with time zone");
    Alter alter = (Alter) stmt;
    List<AlterExpression> alterExps = alter.getAlterExpressions();
    AlterExpression col1Exp = alterExps.get(0);
    List<ColumnDataType> col1DataTypes = col1Exp.getColDataTypeList();
    assertEquals("timestamp with time zone", col1DataTypes.get(0).getColDataType().toString());
}
Also used : Alter(net.sf.jsqlparser.statement.alter.Alter) Statement(net.sf.jsqlparser.statement.Statement) ColumnDataType(net.sf.jsqlparser.statement.alter.AlterExpression.ColumnDataType) AlterExpression(net.sf.jsqlparser.statement.alter.AlterExpression)

Example 5 with Alter

use of net.sf.jsqlparser.statement.alter.Alter in project JSqlParser by JSQLParser.

the class AlterTest method testAlterTableAddColumn.

public void testAlterTableAddColumn() throws JSQLParserException {
    Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE mytable ADD COLUMN mycolumn varchar (255)");
    assertTrue(stmt instanceof Alter);
    Alter alter = (Alter) stmt;
    assertEquals("mytable", alter.getTable().getFullyQualifiedName());
    AlterExpression alterExp = alter.getAlterExpressions().get(0);
    assertNotNull(alterExp);
    List<ColumnDataType> colDataTypes = alterExp.getColDataTypeList();
    assertEquals("mycolumn", colDataTypes.get(0).getColumnName());
    assertEquals("varchar (255)", colDataTypes.get(0).getColDataType().toString());
}
Also used : Alter(net.sf.jsqlparser.statement.alter.Alter) Statement(net.sf.jsqlparser.statement.Statement) ColumnDataType(net.sf.jsqlparser.statement.alter.AlterExpression.ColumnDataType) AlterExpression(net.sf.jsqlparser.statement.alter.AlterExpression)

Aggregations

Alter (net.sf.jsqlparser.statement.alter.Alter)11 Statement (net.sf.jsqlparser.statement.Statement)7 AlterExpression (net.sf.jsqlparser.statement.alter.AlterExpression)7 ColumnDataType (net.sf.jsqlparser.statement.alter.AlterExpression.ColumnDataType)5 CreateTable (net.sf.jsqlparser.statement.create.table.CreateTable)4 Delete (net.sf.jsqlparser.statement.delete.Delete)4 Drop (net.sf.jsqlparser.statement.drop.Drop)4 Insert (net.sf.jsqlparser.statement.insert.Insert)4 Update (net.sf.jsqlparser.statement.update.Update)4 CreateIndex (net.sf.jsqlparser.statement.create.index.CreateIndex)3 ArrayList (java.util.ArrayList)2 List (java.util.List)2 Table (net.sf.jsqlparser.schema.Table)2 CreateView (net.sf.jsqlparser.statement.create.view.CreateView)2 Truncate (net.sf.jsqlparser.statement.truncate.Truncate)2 DBException (org.jkiss.dbeaver.DBException)2 ExecutionPlan (herddb.model.ExecutionPlan)1 Execute (net.sf.jsqlparser.statement.execute.Execute)1 PlainSelect (net.sf.jsqlparser.statement.select.PlainSelect)1 Select (net.sf.jsqlparser.statement.select.Select)1