Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-10004

Parse error leads to leave the transaction

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.7
    • 2.7
    • mvcc, sql
    • None

    Description

      1. Start 2 nodes + connect sqlline
      2. Execute following queries:

      create table t10 (a int, b varchar, primary key(a)) with "ATOMICITY=TRANSACTIONAL_SNAPSHOT,backups=1";
      begin;
      insert into t10 values(1); <- wrong set
      insert into t10 values(2, '2'); <- correct set
      commit;
      

      The output:

      0: jdbc:ignite:thin://127.0.0.1/> create table t10 (a int, b varchar, primary key(a)) with "ATOMICITY=TRANSACTIONAL_SNAP
      SHOT,backups=1";
      No rows affected (0,032 seconds)
      0: jdbc:ignite:thin://127.0.0.1/> begin;
      No rows affected (0 seconds)
      0: jdbc:ignite:thin://127.0.0.1/> insert into t10 values(1);
      Error: Failed to parse query. ═хтхЁэюх ъюышўхёЄтю ёЄюысЎют
      Column count does not match; SQL statement:
      insert into t10 values(1) [21002-197] (state=42000,code=1001)
      java.sql.SQLException: Failed to parse query. Неверное количество столбцов
      Column count does not match; SQL statement:
      insert into t10 values(1) [21002-197]
              at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
              at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
              at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
              at sqlline.Commands.execute(Commands.java:823)
              at sqlline.Commands.sql(Commands.java:733)
              at sqlline.SqlLine.dispatch(SqlLine.java:795)
              at sqlline.SqlLine.begin(SqlLine.java:668)
              at sqlline.SqlLine.start(SqlLine.java:373)
              at sqlline.SqlLine.main(SqlLine.java:265)
      0: jdbc:ignite:thin://127.0.0.1/> insert into t10 values(2, '2');
      Error: Transaction is already completed. (state=25000,code=5004)
      java.sql.SQLException: Transaction is already completed.
              at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:750)
              at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:212)
              at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:475)
              at sqlline.Commands.execute(Commands.java:823)
              at sqlline.Commands.sql(Commands.java:733)
              at sqlline.SqlLine.dispatch(SqlLine.java:795)
              at sqlline.SqlLine.begin(SqlLine.java:668)
              at sqlline.SqlLine.start(SqlLine.java:373)
              at sqlline.SqlLine.main(SqlLine.java:265)
      

      Attachments

        Activity

          People

            amashenkov Andrey Mashenkov
            skozlov Sergey Kozlov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: