Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-10811

Prepared SELECT * queries return incorrect columns after schema change

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Normal
    • Resolution: Duplicate
    • Fix Version/s: 2.2.x, 3.0.x, 3.11.x
    • Component/s: Legacy/CQL
    • Labels:
      None
    • Environment:

      Cassandra 2.2.3
      Java driver 2.1.9

    • Severity:
      Normal

      Description

      (see also the test case attached)

      When executing the following steps using a single com.datastax.driver.core.Session:
      1. create table with column a and c
      2. insert a single row with values for both columns
      3. select that row using a prepared statement (SELECT * FROM table WHERE id=?)
      4. alter the table adding a new column b
      5. select the row using a prepared statement (preparing the statement again, not re-using the old one)

      The value of the c column is not returned, instead there's a NULL (which I suppose is the value of the newly inserted b column).

      The query returns correct results if:

      • step 3 is skipped, that is there is no prepared select before altering the table
      • a normal, non-prepared select is done
      • a select with explicitly enumerated fields is done
      • a new session is created
      • the new column is alphabetically larger than the existing columns (e.g. d)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                adamw1pl Adam Warski
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: