Demo
This commit is contained in:
parent
e6002df18e
commit
72013ac9d3
6 changed files with 158 additions and 22 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1,3 +1,3 @@
|
||||||
.idea
|
.idea
|
||||||
/target
|
target
|
||||||
tmp_repl.txt
|
tmp_repl.txt
|
||||||
|
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
stages:
|
|
||||||
- primary
|
|
||||||
|
|
||||||
build-and-test:
|
|
||||||
stage: primary
|
|
||||||
image: rust:1.74.0
|
|
||||||
tags:
|
|
||||||
- shared-fi
|
|
||||||
rules:
|
|
||||||
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
||||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
||||||
script:
|
|
||||||
# build and test in single job for faster execution
|
|
||||||
# because shared runner doesn't allow caching
|
|
||||||
- cargo build --verbose
|
|
||||||
- cargo test --verbose
|
|
||||||
27
demo-1.sql
27
demo-1.sql
|
|
@ -1,10 +1,13 @@
|
||||||
-- Create the users table
|
-- Create the users table
|
||||||
|
|
||||||
CREATE TABLE users (id UUID PRIMARY KEY, name STRING, surname STRING);
|
CREATE TABLE users (id UUID PRIMARY KEY, name STRING, surname STRING);
|
||||||
|
|
||||||
-- Create the cars table with vid as an optional type
|
-- Create the cars table with vid as an optional type
|
||||||
|
|
||||||
CREATE TABLE cars (id UUID PRIMARY KEY, vid Option(STRING), brand STRING, model STRING);
|
CREATE TABLE cars (id UUID PRIMARY KEY, vid Option(STRING), brand STRING, model STRING);
|
||||||
|
|
||||||
-- Insert entries into users
|
-- Insert entries into users
|
||||||
|
|
||||||
INSERT INTO users (id, name, surname) VALUES (u1001, "Jiří", "Novák");
|
INSERT INTO users (id, name, surname) VALUES (u1001, "Jiří", "Novák");
|
||||||
INSERT INTO users (id, name, surname) VALUES (u1002, "Petr", "Svoboda");
|
INSERT INTO users (id, name, surname) VALUES (u1002, "Petr", "Svoboda");
|
||||||
INSERT INTO users (id, name, surname) VALUES (u1003, "Marek", "Dvořák");
|
INSERT INTO users (id, name, surname) VALUES (u1003, "Marek", "Dvořák");
|
||||||
|
|
@ -17,6 +20,7 @@ INSERT INTO users (id, name, surname) VALUES (u1009, "ゆうた", "わたなべ"
|
||||||
INSERT INTO users (id, name, surname) VALUES (u1010, "あやか", "おかもと");
|
INSERT INTO users (id, name, surname) VALUES (u1010, "あやか", "おかもと");
|
||||||
|
|
||||||
-- Insert entries into cars
|
-- Insert entries into cars
|
||||||
|
|
||||||
INSERT INTO cars (id, vid, brand, model) VALUES (u2001, None, "Toyota", "Corolla");
|
INSERT INTO cars (id, vid, brand, model) VALUES (u2001, None, "Toyota", "Corolla");
|
||||||
INSERT INTO cars (id, vid, brand, model) VALUES (u2002, None, "Ford", "Fiesta");
|
INSERT INTO cars (id, vid, brand, model) VALUES (u2002, None, "Ford", "Fiesta");
|
||||||
INSERT INTO cars (id, vid, brand, model) VALUES (u2003, Some("WBAKB0C52AC111480"), "Volkswagen", "Golf");
|
INSERT INTO cars (id, vid, brand, model) VALUES (u2003, Some("WBAKB0C52AC111480"), "Volkswagen", "Golf");
|
||||||
|
|
@ -29,16 +33,29 @@ INSERT INTO cars (id, vid, brand, model) VALUES (u2009, None, "Kia", "Optima");
|
||||||
INSERT INTO cars (id, vid, brand, model) VALUES (u2010, Some("1G4GG5E35DF715445"), "Audi", "A4");
|
INSERT INTO cars (id, vid, brand, model) VALUES (u2010, Some("1G4GG5E35DF715445"), "Audi", "A4");
|
||||||
|
|
||||||
-- SELECT and DELETE commands for users and cars
|
-- SELECT and DELETE commands for users and cars
|
||||||
SELECT * FROM users;
|
|
||||||
SELECT name FROM users;
|
|
||||||
SELECT name, surname FROM users;
|
|
||||||
SELECT * FROM users WHERE name = "さくら";
|
|
||||||
DELETE FROM users WHERE surname = "Novák";
|
|
||||||
SELECT * FROM users;
|
SELECT * FROM users;
|
||||||
|
|
||||||
|
SELECT name FROM users;
|
||||||
|
|
||||||
|
SELECT name, surname FROM users;
|
||||||
|
|
||||||
|
SELECT * FROM users WHERE name = "さくら";
|
||||||
|
|
||||||
|
DELETE FROM users WHERE surname = "Novák";
|
||||||
|
|
||||||
|
SELECT * FROM users;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SELECT * FROM cars;
|
SELECT * FROM cars;
|
||||||
|
|
||||||
SELECT brand FROM cars;
|
SELECT brand FROM cars;
|
||||||
|
|
||||||
SELECT brand, model FROM cars;
|
SELECT brand, model FROM cars;
|
||||||
|
|
||||||
SELECT * FROM cars WHERE brand = "Ford";
|
SELECT * FROM cars WHERE brand = "Ford";
|
||||||
|
|
||||||
DELETE FROM cars WHERE brand = "Ford";
|
DELETE FROM cars WHERE brand = "Ford";
|
||||||
|
|
||||||
SELECT * FROM cars;
|
SELECT * FROM cars;
|
||||||
|
|
|
||||||
19
demo-2.sql
19
demo-2.sql
|
|
@ -1,9 +1,13 @@
|
||||||
-- Create the people table
|
-- Create the people table
|
||||||
-- (not using the "users" name so that you can use this file in the same
|
-- (not using the "users" name so that you can use this file in the same
|
||||||
-- DB instance as demo-3.sql)
|
-- DB instance as demo-3.sql)
|
||||||
|
|
||||||
CREATE TABLE people (id UUID PRIMARY KEY, first_name STRING, surname STRING);
|
CREATE TABLE people (id UUID PRIMARY KEY, first_name STRING, surname STRING);
|
||||||
|
|
||||||
-- Insert entries into people
|
-- Insert entries into people
|
||||||
|
|
||||||
|
SELECT * FROM people;
|
||||||
|
|
||||||
INSERT INTO people (id, first_name, surname) VALUES (u1, "Ranice", "Hardman");
|
INSERT INTO people (id, first_name, surname) VALUES (u1, "Ranice", "Hardman");
|
||||||
INSERT INTO people (id, first_name, surname) VALUES (u2, "Amara", "Fieldsend");
|
INSERT INTO people (id, first_name, surname) VALUES (u2, "Amara", "Fieldsend");
|
||||||
INSERT INTO people (id, first_name, surname) VALUES (u3, "Stillmann", "Metzing");
|
INSERT INTO people (id, first_name, surname) VALUES (u3, "Stillmann", "Metzing");
|
||||||
|
|
@ -1005,7 +1009,22 @@ INSERT INTO people (id, first_name, surname) VALUES (u998, "James", "Dinning");
|
||||||
INSERT INTO people (id, first_name, surname) VALUES (u999, "Alvina", "Varcoe");
|
INSERT INTO people (id, first_name, surname) VALUES (u999, "Alvina", "Varcoe");
|
||||||
INSERT INTO people (id, first_name, surname) VALUES (u1000, "James", "Postance");
|
INSERT INTO people (id, first_name, surname) VALUES (u1000, "James", "Postance");
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO people (id, first_name, surname) VALUES (u1001, "James", "Postance");
|
||||||
|
|
||||||
-- SELECT commands for people
|
-- SELECT commands for people
|
||||||
|
|
||||||
|
SELECT * FROM people;
|
||||||
|
|
||||||
|
INSERT INTO people (id, first_name, surname) VALUES (u1001, "Foo", "Bar");
|
||||||
|
|
||||||
SELECT * FROM people WHERE first_name = "James";
|
SELECT * FROM people WHERE first_name = "James";
|
||||||
|
|
||||||
CREATE INDEX PeopleName ON people (first_name);
|
CREATE INDEX PeopleName ON people (first_name);
|
||||||
|
|
||||||
SELECT * FROM people WHERE first_name = "James";
|
SELECT * FROM people WHERE first_name = "James";
|
||||||
|
|
||||||
|
|
||||||
|
DELETE FROM people;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
13
demo-3.sql
13
demo-3.sql
|
|
@ -1,8 +1,10 @@
|
||||||
-- Create the numbers table
|
-- Create the numbers table
|
||||||
-- Useless table, but it contains many rows, which free Mockaroo cannot do
|
-- Useless table, but it contains many rows, which free Mockaroo cannot do
|
||||||
|
|
||||||
CREATE TABLE numbers (id UUID PRIMARY KEY, number_as_string STRING);
|
CREATE TABLE numbers (id UUID PRIMARY KEY, number_as_string STRING);
|
||||||
|
|
||||||
-- Insert entries into people
|
-- Insert entries into people
|
||||||
|
|
||||||
INSERT INTO numbers (id, number_as_string) VALUES (u1, "1");
|
INSERT INTO numbers (id, number_as_string) VALUES (u1, "1");
|
||||||
INSERT INTO numbers (id, number_as_string) VALUES (u2, "2");
|
INSERT INTO numbers (id, number_as_string) VALUES (u2, "2");
|
||||||
INSERT INTO numbers (id, number_as_string) VALUES (u3, "3");
|
INSERT INTO numbers (id, number_as_string) VALUES (u3, "3");
|
||||||
|
|
@ -10005,6 +10007,17 @@ INSERT INTO numbers (id, number_as_string) VALUES (u9999, "9999");
|
||||||
INSERT INTO numbers (id, number_as_string) VALUES (u10000, "10000");
|
INSERT INTO numbers (id, number_as_string) VALUES (u10000, "10000");
|
||||||
|
|
||||||
-- SELECT commands for numbers
|
-- SELECT commands for numbers
|
||||||
|
|
||||||
|
SELECT * FROM numbers;
|
||||||
|
|
||||||
SELECT * FROM numbers WHERE number_as_string = "42";
|
SELECT * FROM numbers WHERE number_as_string = "42";
|
||||||
|
|
||||||
CREATE INDEX NumbersNumberAsString ON numbers (number_as_string);
|
CREATE INDEX NumbersNumberAsString ON numbers (number_as_string);
|
||||||
|
|
||||||
|
|
||||||
SELECT * FROM numbers WHERE number_as_string = "42";
|
SELECT * FROM numbers WHERE number_as_string = "42";
|
||||||
|
|
||||||
|
|
||||||
|
DELETE FROM numbers;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
103
demo.txt
Normal file
103
demo.txt
Normal file
|
|
@ -0,0 +1,103 @@
|
||||||
|
|
||||||
|
:kill-pane
|
||||||
|
|
||||||
|
cargo build
|
||||||
|
|
||||||
|
cargo test
|
||||||
|
|
||||||
|
|
||||||
|
rm -rf db_demo
|
||||||
|
|
||||||
|
cargo run --bin server --
|
||||||
|
|
||||||
|
cargo run --bin server -- --folder db_demo
|
||||||
|
|
||||||
|
rlwrap cargo run --bin client --
|
||||||
|
|
||||||
|
|
||||||
|
======================Games Table========================================
|
||||||
|
|
||||||
|
SELECT * FROM games;
|
||||||
|
|
||||||
|
|
||||||
|
REATE TABLE games (id UUID PRIMARY KEY, name STRING, year INT, price NUMBER);
|
||||||
|
|
||||||
|
INSERT INTO games (id, name, year, price) VALUES (u1, "skyrim", 2011, 1024.5);
|
||||||
|
|
||||||
|
INSERT INTO games (id, name, year, price) VALUES (u2, "DOOM 2", 1994, 350.0);
|
||||||
|
|
||||||
|
DELETE FROM games;
|
||||||
|
|
||||||
|
WHERE name = "Christina";
|
||||||
|
|
||||||
|
SELECT * FROM games;
|
||||||
|
|
||||||
|
SELECT * FROM games WHERE id=u2;
|
||||||
|
|
||||||
|
SELECT * FROM games WHERE name="skyrim";
|
||||||
|
|
||||||
|
SELECT name, year, year, year, name FROM games;
|
||||||
|
|
||||||
|
|
||||||
|
SELECT * FROM games WHERE id=u3;
|
||||||
|
|
||||||
|
===================Users Table======================
|
||||||
|
// Optionals
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE users (id UUID PRIMARY KEY, name STRING, surname STRING, email Option(STRING));
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO users (id, name, surname, email) VALUES (u1, "Hero", "Protagonist 😊", Some("snow_crash@gmail.com"));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO users (id, name, surname, email) VALUES (u26, "Arnold", "schwarzenegger", Some("gettothechoppa@yahoo.com"));
|
||||||
|
|
||||||
|
INSERT INTO users (id, name, surname, email) VALUES (u27, "Arnold", "Vosloo", None);
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO users (id, name, surname, email) VALUES (u29, "New", "Guy", None);
|
||||||
|
|
||||||
|
|
||||||
|
"hello" : String
|
||||||
|
|
||||||
|
Some("hello") : Option(String)
|
||||||
|
|
||||||
|
None : Option(String)
|
||||||
|
|
||||||
|
|
||||||
|
SELECT * FROM users;
|
||||||
|
|
||||||
|
|
||||||
|
SELECT * FROM users WHERE email=None;
|
||||||
|
|
||||||
|
SELECT * FROM users WHERE email=Some("gettothechoppa@yahoo.com");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DELETE FROM users WHERE id=u1;
|
||||||
|
|
||||||
|
DELETE FROM users WHERE id=u27;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE users1 (id UUID PRIMARY KEY, name STRING, surname STRING, email Option(Option(STRING)));
|
||||||
|
|
||||||
|
INSERT INTO users1 (id, name, surname, email) VALUES (u1, "Hero", "Protagonist 😊", None);
|
||||||
|
|
||||||
|
INSERT INTO users1 (id, name, surname, email) VALUES (u26, "Arnold", "schwarzenegger", Some(Some("gettothechoppa@yahoo.com")));
|
||||||
|
|
||||||
|
SELECT * FROM users1;
|
||||||
|
|
||||||
|
SELECT * FROM users1 WHERE email=None;
|
||||||
|
|
||||||
|
DELETE FROM users;
|
||||||
|
|
||||||
|
// ==============Indexes, Concurrency, Garbage Collection================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CREATE INDEX CarsYear ON cars (year);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue