From dd9fbc0f5922f94956e147ae95b2a38dc418a24a Mon Sep 17 00:00:00 2001
From: Joel Cavat <jcavat@gmail.com>
Date: Tue, 5 Apr 2022 19:07:46 +0200
Subject: [PATCH] Add strict mode

---
 sqlite/conf/conf.db                 | Bin 73728 -> 73728 bytes
 sqlite/conf/create-and-populate.sql |  27 ++++++++++++++-------------
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/sqlite/conf/conf.db b/sqlite/conf/conf.db
index 67a8f8ac1a54ab3fe61d4c62183b43d500b03322..9709f8f3ec60f07586511aa7a5077dd87ca61739 100644
GIT binary patch
delta 544
zcmZoTz|wGlWrDPz5Ca1P2s1zd=R_T2eIW+DXd_<!9}I$QbqxHa{Ac+hd8hGd@oeBt
z<^IRLhU+DFEoT_lI`)5@vTSwiS2rsPd|>5j3K3uz7Zqh}<=(uH&5e;)Avh$+(>X+4
zkWJiLbn-(k3DMw^#L9R>5Gm9o!^bYJs>;}0z1f_D53bmppH19b6{L7_GN%k@C=a{1
zx;kS^=Hw2}oXHC~cqVglsjvjOI{HjD;abiPwPEsYE*nlkE_QKgX~xFN$qL-fFuQfR
z*~A^C!NwirPT|z&U>6q`XKb>atjDuZ5URV;h>cxbR+h2JeDY16C2%uqd5t&)Szu=F
z;4P5}ag7L3@beE*@C)_v;nIX^*JXuU5yB_LDap((uBgb^Tst|RZyUs=I{bkGP{m=4
zU<WjEPj2P+fLXQqEWfM5W<`Oge4D@9@hS?i@y}!6f5(51|1AGL{&oEGHY*Br@$2)k
zF)K2b=jP{?q~#ZtRLSwNGRrd+<tFBprsiZ?F#O_WVU}miPtGqbDJeEI)|h-Y-&}x=
ve;EV+2mXir7x@qKZ{=UMSy5mT|75#ZJ{dM%W_d=qZdMQvu6Of=dV>W3rSOo<

delta 601
zcmZoTz|wGlWrDPzBm)D35Ca16Ow=(plw{D0Hsa;~!63wD%D`XCf0i$mcO9P@&w1Wj
z9u@9O++y5|IqSG?bLeuqvTfmDVKd!0aVcwktq{AYq9RA5XIW-yd2)VUT6{rKW^yWm
z<s9Vd7~-lB=II))fDqNlOwmyQtJF~_$uG!E*5q;wRtR?Wadi$+$V`a`sZ1?O%}Y*2
zD9bF#NmXzQ^7mD6&d*DO$Z|FL3b2cdiZZs;Zth@nV`NhoWD~a*oov7-AsSqgSQ&2!
zB88en`Pju(RT-OeH*;|CF;14{wBn57VHa0dXKX2+oWPmG5$YH0>F($1GWj&8A-i9w
zuWOK}^CYh2lh<+CaB^|6i%Uy0HfB%$%+)-(mb-~lgM(dMT%55<e=-NpLas(_Hg<7Y
zS;i*K$-8)#u<5h2i95@JoG`hWSA>(51)@7~@&eux9zXvO1;0=qA1+N@*2(qUGLt>{
zgg8Z+*~JwV8JkNdC-ZHC**;m8Kaj(Zkqu-~?c_RskIiTKT@{%4E^Jm5*w3e;E~===
zB$}8~oMvQTWT0zcq-$V=U@^Z)%E>R-{N0XMk&l&sEd&2M{(Jmq`S<d#-7Gj^HopQN
zE3+bFd2W7QNm_nUNtGNQ3$r{^QEp;hX=+ZU1;ek&XY<W@Soyaw@PFWc$bXUl@MZyp
YCH#}^V)^)3d70%I;Yv4Os5e*u06=u5UjP6A

diff --git a/sqlite/conf/create-and-populate.sql b/sqlite/conf/create-and-populate.sql
index ebf03a8..aee7586 100644
--- a/sqlite/conf/create-and-populate.sql
+++ b/sqlite/conf/create-and-populate.sql
@@ -1,10 +1,11 @@
 .mode column
 .headers on
 PRAGMA foreign_keys = ON;
+PRAGMA strict = ON;
 
 CREATE TABLE Topic (
   title TEXT NOT NULL PRIMARY KEY
-);
+) STRICT;
 
 INSERT INTO Topic (title) VALUES
 ('blockchain'),
@@ -18,10 +19,10 @@ CREATE TABLE Conference (
   name TEXT NOT NULL,
   start_date TEXT NOT NULL,
   end_date TEXT NOT NULL,
-  price NUMERIC NOT NULL,
+  price REAL NOT NULL,
   title TEXT NOT NULL,
   FOREIGN KEY (title) REFERENCES Topic(title)
-);
+) STRICT;
 
 INSERT INTO Conference (id_conference, name, start_date, end_date, price, title) VALUES
 (1, 'Scala Days 2016', '2016-06-01', '2016-06-03', 800, 'microservices'),
@@ -33,8 +34,8 @@ INSERT INTO Conference (id_conference, name, start_date, end_date, price, title)
 CREATE TABLE Visitor (
   login TEXT NOT NULL PRIMARY KEY,
   firstname TEXT NOT NULL,
-  lastname NOT NULL
-);
+  lastname TEXT NOT NULL
+) STRICT;
 
 INSERT INTO Visitor (login, firstname, lastname) VALUES
 ('agillibrandc', 'Alfonso', 'Gillibrand'),
@@ -92,7 +93,7 @@ CREATE TABLE Fidelity (
   login TEXT NOT NULL PRIMARY KEY,
   loyalty_points INTEGER NOT NULL,
   FOREIGN KEY(login) REFERENCES Visitor(login)
-);
+) STRICT;
 
 INSERT INTO Fidelity VALUES
 ('agillibrandc',50),
@@ -108,7 +109,7 @@ CREATE TABLE Hotel (
   name TEXT NOT NULL,
   address TEXT NOT NULL,
   city TEXT NOT NULL
-);
+) STRICT;
 
 INSERT INTO Hotel (id_hotel, `name`, address, city) VALUES
 ('1', 'Luxurious Hotel City', 'Joachimstaler Str. 4', 'Berlin'),
@@ -122,7 +123,7 @@ CREATE TABLE Speaker (
   login TEXT NOT NULL PRIMARY KEY,
   firstname TEXT NOT NULL,
   lastname TEXT NOT NULL
-);
+) STRICT;
 
 INSERT INTO Speaker (login, firstname, lastname) VALUES
 ('amalyon0', 'Aluin', 'Malyon'),
@@ -146,13 +147,13 @@ INSERT INTO Speaker (login, firstname, lastname) VALUES
 
 CREATE TABLE Participation (
   login TEXT NOT NULL,
-  id_conference INTEGER UNSIGNED NOT NULL,
+  id_conference INTEGER NOT NULL,
   signatureDate TEXT NOT NULL,
-  fees NUMERIC NOT NULL, 
+  fees REAL NOT NULL, 
   PRIMARY KEY (login, id_conference),
   FOREIGN KEY (login) REFERENCES Speaker(login),
   FOREIGN KEY (id_conference) REFERENCES Conference(id_conference)
-);
+) STRICT;
 
 INSERT INTO Participation (login, id_conference, signatureDate, fees) VALUES
 ('amalyon0', 1, '2017-05-23', 0),
@@ -210,7 +211,7 @@ CREATE TABLE Registration (
   PRIMARY KEY (login, id_conference),
   FOREIGN KEY (login) REFERENCES Visitor(login),
   FOREIGN KEY (id_conference) REFERENCES Conference(id_conference)
-);
+) STRICT;
 
 INSERT INTO Registration (login, id_conference) VALUES
 ('agillibrandc', 1),
@@ -346,7 +347,7 @@ CREATE TABLE Stay (
   UNIQUE (login, start_date),
   FOREIGN KEY (login) REFERENCES Speaker(login),
   FOREIGN KEY (id_hotel) REFERENCES Hotel(id_hotel)
-);
+) STRICT;
 
 INSERT INTO Stay (login, id_hotel, start_date, end_date) VALUES
 ('cbaszniak8', '3', '2019-02-03', '2019-02-05'),
-- 
GitLab