race_starts

Frozen list full index example.

Frozen list full index example.

SOURCE '0_create_keyspace.cql';

DROP TABLE IF EXISTS cycling.race_starts;

// create a table with a frozen list of ints
// START-frozenlist
CREATE TABLE IF NOT EXISTS cycling.race_starts (
  cyclist_name text PRIMARY KEY,
  rnumbers FROZEN<LIST<int>>
);
// END-frozenlist   
    
// View created table
DESCRIBE TABLE cycling.race_starts;

DROP INDEX IF EXISTS cycling.rnumbers_idx;

// Create index
// START-fullindex
CREATE INDEX IF NOT EXISTS rnumbers_idx
ON cycling.race_starts ( FULL(rnumbers) );
// END-fullindex

// Insert data
INSERT INTO cycling.race_starts (
  cyclist_name, rnumbers
) VALUES (
  'John DEGENKOLB', [39, 7, 14]
);

// Select data with WHERE clause
CAPTURE 'race_starts-queries.results';
// START-selectrnumbers
SELECT *
FROM cycling.race_starts
WHERE rnumbers = [39, 7, 14];
// END-selectrnumbers
CAPTURE OFF;
Output from query:
 cyclist_name   | rnumbers
----------------+-------------
 John DEGENKOLB | [39, 7, 14]

(1 rows)
The SELECT statement finds any cyclist who has 39 Pro race wins, 7 Grand Tour starts, and 14 Classic starts.