-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInvisCharsDB.sql
43 lines (43 loc) · 1.58 KB
/
InvisCharsDB.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
CREATE TABLE IF NOT EXISTS zeroWidthChars (
testId INTEGER NOT NULL,
charCode INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS invisibleChars (
testId INTEGER NOT NULL,
charCode INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS tests (
testId INTEGER PRIMARY KEY AUTOINCREMENT,
timestamp INTEGER NOT NULL,
browserName TEXT,
cpuArchitecture TEXT,
deviceModel TEXT,
deviceVendor TEXT,
engineName TEXT,
osName TEXT,
userAgent TEXT NOT NULL
);
CREATE VIEW IF NOT EXISTS zeroWidthCharsStats AS
SELECT zeroWidthChars.charCode,
COUNT(DISTINCT tests.browserName) AS browserNameCount,
COUNT(DISTINCT tests.cpuArchitecture) AS cpuArchitectureCount,
COUNT(DISTINCT tests.deviceModel) AS deviceModelCount,
COUNT(DISTINCT tests.deviceVendor) AS deviceVendorCount,
COUNT(DISTINCT tests.engineName) AS engineNameCount,
COUNT(DISTINCT tests.osName) AS osNameCount,
COUNT(DISTINCT tests.testId) AS testCount
FROM zeroWidthChars
INNER JOIN tests ON zeroWidthChars.testId = tests.testId
GROUP BY zeroWidthChars.charCode;
CREATE VIEW IF NOT EXISTS invisibleCharsStats AS
SELECT invisibleChars.charCode,
COUNT(DISTINCT tests.browserName) AS browserNameCount,
COUNT(DISTINCT tests.cpuArchitecture) AS cpuArchitectureCount,
COUNT(DISTINCT tests.deviceModel) AS deviceModelCount,
COUNT(DISTINCT tests.deviceVendor) AS deviceVendorCount,
COUNT(DISTINCT tests.engineName) AS engineNameCount,
COUNT(DISTINCT tests.osName) AS osNameCount,
COUNT(DISTINCT tests.testId) AS testCount
FROM invisibleChars
INNER JOIN tests ON invisibleChars.testId = tests.testId
GROUP BY invisibleChars.charCode;