Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
Correctness - API / Semantic Implementation
-
Low
-
Challenging
-
Code Inspection
-
Description
Test for the issue:
@Test public void testCompactStorage() throws Throwable { createTable("CREATE TABLE %s (a int PRIMARY KEY, b int, c int) WITH COMPACT STORAGE"); assertInvalid("INSERT INTO %s (a, b, c, column1) VALUES (?, ?, ?, ?)", 1, 1, 1, ByteBufferUtil.bytes('a')); // This one fails with Some clustering keys are missing: column1, which is still wrong assertInvalid("INSERT INTO %s (a, b, c, value) VALUES (?, ?, ?, ?)", 1, 1, 1, ByteBufferUtil.bytes('a')); assertInvalid("INSERT INTO %s (a, b, c, column1, value) VALUES (?, ?, ?, ?, ?)", 1, 1, 1, ByteBufferUtil.bytes('a'), ByteBufferUtil.bytes('b')); assertEmpty(execute("SELECT * FROM %s")); }
Gladly, these writes are no-op, even though they succeed.
value and column1 should be completely hidden. Fixing this one should be as easy as just adding validations.