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

Prepared SELECT * queries return incorrect columns after schema change

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Duplicate
    • 2.2.x, 3.0.1, 3.11.5
    • Legacy/CQL
    • None
    • Cassandra 2.2.3
      Java driver 2.1.9

    • 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

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

              Dates

                Created:
                Updated:
                Resolved: