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
|
||||
/target
|
||||
target
|
||||
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 TABLE users (id UUID PRIMARY KEY, name STRING, surname STRING);
|
||||
|
||||
-- Create the cars table with vid as an optional type
|
||||
|
||||
CREATE TABLE cars (id UUID PRIMARY KEY, vid Option(STRING), brand STRING, model STRING);
|
||||
|
||||
-- Insert entries into users
|
||||
|
||||
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 (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 entries into cars
|
||||
|
||||
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 (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");
|
||||
|
||||
-- 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 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 brand FROM cars;
|
||||
|
||||
SELECT brand, model FROM cars;
|
||||
|
||||
SELECT * FROM cars WHERE brand = "Ford";
|
||||
|
||||
DELETE FROM cars WHERE brand = "Ford";
|
||||
|
||||
SELECT * FROM cars;
|
||||
|
|
|
|||
19
demo-2.sql
19
demo-2.sql
|
|
@ -1,9 +1,13 @@
|
|||
-- Create the people table
|
||||
-- (not using the "users" name so that you can use this file in the same
|
||||
-- DB instance as demo-3.sql)
|
||||
|
||||
CREATE TABLE people (id UUID PRIMARY KEY, first_name STRING, surname STRING);
|
||||
|
||||
-- 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 (u2, "Amara", "Fieldsend");
|
||||
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 (u1000, "James", "Postance");
|
||||
|
||||
|
||||
INSERT INTO people (id, first_name, surname) VALUES (u1001, "James", "Postance");
|
||||
|
||||
-- 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";
|
||||
|
||||
CREATE INDEX PeopleName ON people (first_name);
|
||||
|
||||
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
|
||||
-- Useless table, but it contains many rows, which free Mockaroo cannot do
|
||||
|
||||
CREATE TABLE numbers (id UUID PRIMARY KEY, number_as_string STRING);
|
||||
|
||||
-- Insert entries into people
|
||||
|
||||
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 (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");
|
||||
|
||||
-- SELECT commands for numbers
|
||||
|
||||
SELECT * FROM numbers;
|
||||
|
||||
SELECT * FROM numbers WHERE number_as_string = "42";
|
||||
|
||||
CREATE INDEX NumbersNumberAsString ON numbers (number_as_string);
|
||||
|
||||
|
||||
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