You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Jiajun Xie (Jira)" <ji...@apache.org> on 2023/06/24 10:32:00 UTC

[jira] [Created] (CALCITE-5796) DELETE statement is not effective

Jiajun Xie created CALCITE-5796:
-----------------------------------

             Summary: DELETE statement is not effective 
                 Key: CALCITE-5796
                 URL: https://issues.apache.org/jira/browse/CALCITE-5796
             Project: Calcite
          Issue Type: Bug
          Components: core, linq4j
         Environment: I try to use `DELETE FROM t`, but the table was not affected.

 
{code:java}
static void erase(SqlIdentifier name, CalcitePrepare.Context context) {
  // Generate, prepare and execute an "DELETE FROM table" statement.
  // (It's a bit inefficient that we convert from SqlNode to SQL and back
  // again.)
  final FrameworkConfig config = Frameworks.newConfigBuilder()
      .defaultSchema(context.getRootSchema().plus())
      .build();
  final Planner planner = Frameworks.getPlanner(config);
  try {
    final StringBuilder buf = new StringBuilder();
    final SqlWriterConfig writerConfig =
        SqlPrettyWriter.config().withAlwaysUseParentheses(false);
    final SqlPrettyWriter w = new SqlPrettyWriter(writerConfig, buf);
    buf.append("DELETE FROM ");
    name.unparse(w, 0, 0);
    final String sql = buf.toString();
    final SqlNode query1 = planner.parse(sql);
    final SqlNode query2 = planner.validate(query1);
    final RelRoot r = planner.rel(query2);
    final PreparedStatement prepare =
        context.getRelRunner().prepareStatement(r.rel);
    int rowCount = prepare.executeUpdate();
    Util.discard(rowCount);
    prepare.close();
  } catch (SqlParseException | ValidationException
           | RelConversionException | SQLException e) {
    throw Util.throwAsRuntime(e);
  }
} {code}
 

Because we use `EnumerableDefaults#remove()` to delete target rows. 

The rows is object array, they can't match.

!image-2023-06-24-18-27-57-722.png!
            Reporter: Jiajun Xie
         Attachments: image-2023-06-24-18-27-57-722.png





--
This message was sent by Atlassian Jira
(v8.20.10#820010)