Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | lithium-access_log: update the main table to refer to the string tables |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
c4f1cd36e18b3c2ff4566e3d5605dc0e |
| User & Date: | nat 2017-01-26 20:46:00.557 |
Context
|
2017-05-29
| ||
| 21:39 | lithium-dispatchers: make the new text replacement filter available check-in: 0106e2c1b7 user: nat tags: trunk | |
|
2017-01-26
| ||
| 20:46 | lithium-access_log: update the main table to refer to the string tables check-in: c4f1cd36e1 user: nat tags: trunk | |
|
2017-01-25
| ||
| 20:18 | lithium-access_log: insert string values into the dedicated tables check-in: 16ac076d4f user: nat tags: trunk | |
Changes
Changes to src/lithium-access_log.adb.
| ︙ | ︙ | |||
66 67 68 69 70 71 72 |
SQLite_Error : exception;
package Log_Queue is new Ada.Containers.Doubly_Linked_Lists (Log_Entry);
Create_SQL : constant String := "CREATE TABLE IF NOT EXISTS access ("
& "time NOT NULL DEFAULT CURRENT_TIMESTAMP, "
| | | | | | | | | | | > > > > > > > > > > | > > > > > > > > > > > > > | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
SQLite_Error : exception;
package Log_Queue is new Ada.Containers.Doubly_Linked_Lists (Log_Entry);
Create_SQL : constant String := "CREATE TABLE IF NOT EXISTS access ("
& "time NOT NULL DEFAULT CURRENT_TIMESTAMP, "
& "peer_name INTEGER, "
& "method INTEGER, "
& "path INTEGER, "
& "http_version INTEGER, "
& "status_code INTEGER, "
& "bytes INTEGER, "
& "referrer INTEGER, "
& "user_agent INTEGER, "
& "cookies INTEGER, "
& "build_time REAL, "
& "export_time REAL, "
& "host INTEGER, "
& "real_ip INTEGER, "
& "forwarded_for INTEGER, "
& "FOREIGN KEY (peer_name) REFERENCES peer_names(rowid), "
& "FOREIGN KEY (method) REFERENCES methods(rowid), "
& "FOREIGN KEY (path) REFERENCES paths(rowid), "
& "FOREIGN KEY (http_version) REFERENCES http_versions(rowid), "
& "FOREIGN KEY (referrer) REFERENCES referrers(rowid), "
& "FOREIGN KEY (user_agent) REFERENCES user_agents(rowid), "
& "FOREIGN KEY (cookies) REFERENCES cookies(rowid), "
& "FOREIGN KEY (host) REFERENCES hosts(rowid), "
& "FOREIGN KEY (real_ip) REFERENCES real_ips(rowid), "
& "FOREIGN KEY (forwarded_for) REFERENCES forwarded_fors(rowid));";
Insert_SQL : constant String := "INSERT INTO access "
& "(peer_name, method, path, http_version, status_code, bytes, referrer, "
& "user_agent, cookies, build_time, export_time, "
& "host, real_ip, forwarded_for) "
& "VALUES ("
& "(SELECT rowid FROM peer_names WHERE value = ?1),"
& "(SELECT rowid FROM methods WHERE value = ?2),"
& "(SELECT rowid FROM paths WHERE value = ?3),"
& "(SELECT rowid FROM http_versions WHERE value = ?4),"
& "?5, ?6, "
& "(SELECT rowid FROM referrers WHERE value = ?7),"
& "(SELECT rowid FROM user_agents WHERE value = ?8),"
& "(SELECT rowid FROM cookies WHERE value = ?9),"
& "?10, ?11, "
& "(SELECT rowid FROM hosts WHERE value = ?12),"
& "(SELECT rowid FROM real_ips WHERE value = ?13),"
& "(SELECT rowid FROM forwarded_fors WHERE value = ?14)"
& ");";
procedure Bind
(Stmt : in out SQLite3.SQLite3_Statement;
Values : in Log_Entry);
-- Bind a log entry to the main insert statement
procedure Bind
|
| ︙ | ︙ |