Examples of SQLName


Examples of com.alibaba.druid.sql.ast.SQLName

   *
   */
  private void getShowIndexesPlan(ParseContext context,
      WaspSqlShowIndexesStatement sqlShowIndexesStatement,
      MetaEventOperation metaEventOperation) throws IOException {
    SQLName object = sqlShowIndexesStatement.getTable();
    String tablename = parseName(object);
    // check if table exists and get Table info
    metaEventOperation.checkAndGetTable(tablename, true);

    ShowIndexesPlan showIndexesTable = new ShowIndexesPlan(tablename);
View Full Code Here

Examples of com.alibaba.druid.sql.ast.SQLName

   *
   */
  private void getDescribePlan(ParseContext context,
      WaspSqlDescribeStatement sqlDescribeStatement,
      MetaEventOperation metaEventOperation) throws IOException {
    SQLName object = sqlDescribeStatement.getObject();
    String tablename = parseName(object);
    // check if table exists and get Table info
    metaEventOperation.checkAndGetTable(tablename, true);

    DescTablePlan descTable = new DescTablePlan(tablename);
View Full Code Here

Examples of com.alibaba.druid.sql.ast.SQLName

    for (SQLAlterTableItem item : items) {
      if (item instanceof WaspSqlAlterTableChangeColumn) {
        // Alter Table Change Column
        WaspSqlAlterTableChangeColumn changeColumn = (WaspSqlAlterTableChangeColumn) item;

        SQLName columnName = changeColumn.getColumnName();
        LinkedHashMap<String, Field> ftableColumns = newTable.getColumns();
        String oldColumnName = parseName(columnName);
        // Table have this column and this column is not primary key
        metaEventOperation.checkFieldExists(oldTable, oldColumnName);
        metaEventOperation.checkFieldNotInPrimaryKeys(oldTable, oldColumnName);
        // Check column not in a index
        metaEventOperation.checkColumnNotInIndex(oldTable, oldColumnName);

        // Which column(index) to change
        Field field = ftableColumns.get(oldColumnName); // Change this Field
        SQLColumnDefinition newColumnDefinition = changeColumn
            .getNewColumnDefinition();
        // ColumnFamily specify do not supported.
        if (newColumnDefinition instanceof WaspSqlColumnDefinition) {
          WaspSqlColumnDefinition waspSqlColumnDefinition =
              (WaspSqlColumnDefinition) newColumnDefinition;
          if (waspSqlColumnDefinition.getColumnFamily() != null) {
            throw new UnsupportedException("Alter Table, columnFamily specify do not supported.");
          }
        }
        if (newColumnDefinition.getDataType() != null) {
          field.setType(parse(newColumnDefinition.getDataType()));
        }
        String newColumnName = parseName(newColumnDefinition.getName());
        if (!oldColumnName.equals(newColumnName)) { // Change column name
          for (Field f : ftableColumns.values()) {
            if (f.getName().equalsIgnoreCase(newColumnName)) {
              throw new UnsupportedException(
                  "Unsupported. Rename one column to a column that already column "
                      + newColumnName);
            }
          }
          field.setName(newColumnName);
        }
      } else if (item instanceof MySqlAlterTableAddColumn) {
        // Alter Table Add Column
        MySqlAlterTableAddColumn addColumn = (MySqlAlterTableAddColumn) item;
        List<SQLColumnDefinition> columns = addColumn.getColumns();
        boolean first = addColumn.isFirst();
        SQLName afterColumn = addColumn.getAfterColumn();
        LinkedHashMap<String, Field> ftableColumns = newTable.getColumns();

        List<Field> addFields = convertColumnDefForAlterTable(columns);
        // check Duplicate column name
        metaEventOperation.areLegalTableColumns(ftableColumns.values(),
            addFields);
        // Do not support add ColumnFamily dynamic right now.
        metaEventOperation.checkColumnFamilyName(ftableColumns.values(), addFields);
        if (first) {
          this.addFieldByPosition(-1, addFields, ftableColumns, newTable);
        } else if (afterColumn != null) {
          int index = getIndex(parseName(afterColumn), ftableColumns);
          this.addFieldByPosition(index, addFields, ftableColumns, newTable);
        } else {
          int index = ftableColumns.size() - 1;
          this.addFieldByPosition(index, addFields, ftableColumns, newTable);
        }
      } else if (item instanceof SQLAlterTableDropColumnItem) {
        // Alter Table Drop Column
        SQLAlterTableDropColumnItem dropColumn = (SQLAlterTableDropColumnItem) item;
        SQLName columnName = dropColumn.getColumnName();
        String cname = parseName(columnName);
        // This column is not primary key
        metaEventOperation.checkFieldNotInPrimaryKeys(oldTable, cname);
        // Check column not in a index, if you want to drop the column you
        // should drop the index first
View Full Code Here

Examples of com.alibaba.druid.sql.ast.SQLName

        keyWord = FieldKeyWord.REPEATED;
      } else {
        throw new UnsupportedException("Unsupported ColumnConstraint "
            + column.getColumnConstraint());
      }
      SQLName name = column.getName();
      SQLDataType dataType = column.getDataType();
      SQLName columnFamilyName = column.getColumnFamily();
      String columnFamily = FConstants.COLUMNFAMILYNAME_STR;
      if (columnFamilyName != null) {
        columnFamily = parseName(columnFamilyName);
      }
      field = new Field(keyWord, columnFamily, parseName(name),
View Full Code Here

Examples of com.alibaba.druid.sql.ast.SQLName

  private void getCreateIndexPlan(ParseContext context,
      WaspSqlCreateIndexStatement sqlCreateIndexStatement,
      MetaEventOperation metaEventOperation) throws IOException {

    // Index Name
    SQLName name = sqlCreateIndexStatement.getName();
    String indexName = parseName(name);
    metaEventOperation.isLegalIndexName(indexName);
    LOG.debug("Create Index SQL IndexName " + name);

    // Table Name
    SQLName table = sqlCreateIndexStatement.getTable();
    String tableName = parseName(table);
    LOG.debug("Create Index SQL TableName " + table);

    // check if table exists and get Table info
    FTable fTable = metaEventOperation.checkAndGetTable(tableName, true);
View Full Code Here

Examples of com.alibaba.druid.sql.ast.SQLName

  }

  // parse a column
  public SQLColumnDefinition parseCreateColumn() {
    WaspSqlColumnDefinition column = new WaspSqlColumnDefinition();
    SQLName name = name();
    if (name.getSimleName().equalsIgnoreCase(WaspSqlCreateTableParser.REQUIRED)) {
      column.setColumnConstraint(FieldKeyWord.REQUIRED);
    } else if (name.getSimleName().equalsIgnoreCase(
        WaspSqlCreateTableParser.OPTIONAL)) {
      column.setColumnConstraint(FieldKeyWord.OPTIONAL);
    } else if (name.getSimleName().equalsIgnoreCase(
        WaspSqlCreateTableParser.REPEATED)) {
      column.setColumnConstraint(FieldKeyWord.REPEATED);
    } else {
      throw new ParserException("error " + name);
    }
View Full Code Here

Examples of com.alibaba.druid.sql.ast.SQLName

    if (lexer.token() == Token.INDEX || identifierEquals("INDEXES")) {
      lexer.nextToken();
      WaspSqlShowIndexesStatement stmt = new WaspSqlShowIndexesStatement();
      if (lexer.token() == Token.FROM || lexer.token() == Token.IN) {
        lexer.nextToken();
        SQLName table = exprParser.name();
        stmt.setTable(table);
        if (lexer.token() == Token.FROM || lexer.token() == Token.IN) {
          lexer.nextToken();
          SQLName database = exprParser.name();
          stmt.setDatabase(database);
        }
      }
      return stmt;
    }
View Full Code Here

Examples of com.alibaba.druid.sql.ast.SQLName

  private WaspSqlShowTablesStatement parseShowTabless() {
    WaspSqlShowTablesStatement stmt = new WaspSqlShowTablesStatement();
    if (lexer.token() == Token.FROM) {
      lexer.nextToken();
      SQLName database = exprParser.name();
      stmt.setDatabase(database);
    }
    if (lexer.token() == Token.LIKE) {
      lexer.nextToken();
      SQLExpr like = exprParser.expr();
View Full Code Here

Examples of com.alibaba.druid.sql.ast.SQLName

  private WaspSqlShowColumnsStatement parseShowColumns() {
    WaspSqlShowColumnsStatement stmt = new WaspSqlShowColumnsStatement();
    if (lexer.token() == Token.FROM) {
      lexer.nextToken();
      SQLName table = exprParser.name();
      stmt.setTable(table);
      if (lexer.token() == Token.FROM) {
        lexer.nextToken();
        SQLName database = exprParser.name();
        stmt.setDatabase(database);
      }
    }
    if (lexer.token() == Token.LIKE) {
      lexer.nextToken();
View Full Code Here

Examples of com.alibaba.druid.sql.ast.SQLName

      stmt.setIgnore(true);
      lexer.nextToken();
    }
    accept(Token.INTO);
    accept(Token.TABLE);
    SQLName tableName = exprParser.name();
    stmt.setTableName(tableName);
    if (identifierEquals(CHARACTER)) {
      lexer.nextToken();
      accept(Token.SET);
      if (lexer.token() != Token.LITERAL_CHARS) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.