scyllax 0.1.6-alpha

A SQLx and Discord inspired query system for Scylla
Documentation
create keyspace scyllax with replication = {
	'class': 'SimpleStrategy',
	'replication_factor': 1
};

use scyllax;

create table person (
	id timeuuid primary key,
	email text,
	age int,
	data text, -- json type
	-- camel case for the sake of backwards compat
	"createdAt" timestamp
);

create materialized view person_by_email as
  select *
  from person
  where email is not null and id is not null
  primary key (email, id);

insert into person(id, email, age, data, "createdAt") values (e01e84d6-414c-11ee-be56-0242ac120002, 'foo1@scyllax.local', 25, "{\"foo\": \"bar\"}", toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01e880a-414c-11ee-be56-0242ac120002, 'foo2@scyllax.local', 25, toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01e89c2-414c-11ee-be56-0242ac120002, 'foo3@scyllax.local', 25, toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01e8b2a-414c-11ee-be56-0242ac120002, 'foo4@scyllax.local', 25, toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01e8db4-414c-11ee-be56-0242ac120002, 'foo5@scyllax.local', 25, toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01e911a-414c-11ee-be56-0242ac120002, 'foo6@scyllax.local', 25, toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01e9354-414c-11ee-be56-0242ac120002, 'foo7@scyllax.local', 25, toUnixTimestamp(now()));
insert into person(id, email, "createdAt") values (e01e94e4-414c-11ee-be56-0242ac120002, 'foo8@scyllax.local', toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01e9854-414c-11ee-be56-0242ac120002, 'foo9@scyllax.local', 25, toUnixTimestamp(now()));
insert into person(id, email, "createdAt") values (e01e99ee-414c-11ee-be56-0242ac120002, 'foo10@scyllax.local', toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01e9b60-414c-11ee-be56-0242ac120002, 'foo11@scyllax.local', 48, toUnixTimestamp(now()));
insert into person(id, email, "createdAt") values (e01e9cc8-414c-11ee-be56-0242ac120002, 'foo12@scyllax.local', toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01e9e3a-414c-11ee-be56-0242ac120002, 'foo13@scyllax.local', 22, toUnixTimestamp(now()));
insert into person(id, email, "createdAt") values (e01ea1d2-414c-11ee-be56-0242ac120002, 'foo14@scyllax.local', toUnixTimestamp(now()));
insert into person(id, email, "createdAt") values (e01ea380-414c-11ee-be56-0242ac120002, 'foo15@scyllax.local', toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01ea4f2-414c-11ee-be56-0242ac120002, 'foo16@scyllax.local', 26, toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01ea682-414c-11ee-be56-0242ac120002, 'foo17@scyllax.local', 18, toUnixTimestamp(now()));
insert into person(id, email, "createdAt") values (e01ea81c-414c-11ee-be56-0242ac120002, 'foo18@scyllax.local', toUnixTimestamp(now()));
insert into person(id, email, age, "createdAt") values (e01eab14-414c-11ee-be56-0242ac120002, 'foo19@scyllax.local', 28, toUnixTimestamp(now()));
insert into person(id, email, "createdAt") values (e01eaca4-414c-11ee-be56-0242ac120002, 'foo20@scyllax.local', toUnixTimestamp(now()));