-CREATE TEMPORARY TABLE _useragent (
- id INT PRIMARY KEY,
- string VARCHAR(500),
- description VARCHAR(2000),
- type VARCHAR(20),
- comment VARCHAR(100),
- link1 VARCHAR(1000),
- link2 VARCHAR(1000)
-);
-
DROP TABLE IF EXISTS useragent;
CREATE TABLE IF NOT EXISTS useragent (
string VARCHAR(500),
description VARCHAR(2000),
- comment VARCHAR(100),
+ comment VARCHAR(200),
link VARCHAR(1000),
is_browser BOOLEAN,
is_link BOOLEAN,
is_spam BOOLEAN
);
-CREATE INDEX useragent_string_idx ON `useragent` (string);
-CREATE INDEX useragent_comment_idx ON `useragent` (comment);
-CREATE INDEX useragent_is_browser_idx ON `useragent` (is_browser);
-CREATE INDEX useragent_is_link_idx ON `useragent` (is_link);
-CREATE INDEX useragent_is_download_idx ON `useragent` (is_download);
-CREATE INDEX useragent_is_proxy_idx ON `useragent` (is_proxy);
-CREATE INDEX useragent_is_robot_idx ON `useragent` (is_robot);
-CREATE INDEX useragent_is_spam_idx ON `useragent` (is_spam);
+CREATE INDEX IF NOT EXISTS useragent_string_idx ON useragent (string);
+CREATE INDEX IF NOT EXISTS useragent_comment_idx ON useragent (comment);
+CREATE INDEX IF NOT EXISTS useragent_is_browser_idx ON useragent (is_browser);
+CREATE INDEX IF NOT EXISTS useragent_is_link_idx ON useragent (is_link);
+CREATE INDEX IF NOT EXISTS useragent_is_download_idx ON useragent (is_download);
+CREATE INDEX IF NOT EXISTS useragent_is_proxy_idx ON useragent (is_proxy);
+CREATE INDEX IF NOT EXISTS useragent_is_robot_idx ON useragent (is_robot);
+CREATE INDEX IF NOT EXISTS useragent_is_spam_idx ON useragent (is_spam);
BEGIN TRANSACTION;
-DELETE FROM useragent;
-COPY useragent FROM PROGRAM 'xml2csv http://www.user-agents.org/allagents.xml \
+CREATE TEMPORARY TABLE _useragent (
+ id VARCHAR(20) PRIMARY KEY,
+ string VARCHAR(500),
+ description VARCHAR(2000),
+ type VARCHAR(80),
+ comment VARCHAR(200),
+ link1 VARCHAR(1000),
+ link2 VARCHAR(1000)
+);
+
+COPY _useragent FROM PROGRAM 'bash --login -c "xml2csv http://www.user-agents.org/allagents.xml" \
+| sed "s/\\\\/\\\\\\\\/g" \
' WITH (format 'text', NULL '');
-- Type:
-- B = Browser
-- P = Proxy server, web filtering
-- R = Robot, crawler, spider
-- S = Spam or bad bot
+DELETE FROM useragent;
INSERT INTO useragent SELECT string,description,comment,link1
- ,CASE WHEN type LIKE '%B%' THEN 1 ELSE 0 END
- ,CASE WHEN type LIKE '%C%' THEN 1 ELSE 0 END
- ,CASE WHEN type LIKE '%D%' THEN 1 ELSE 0 END
- ,CASE WHEN type LIKE '%P%' THEN 1 ELSE 0 END
- ,CASE WHEN type LIKE '%R%' THEN 1 ELSE 0 END
- ,CASE WHEN type LIKE '%S%' THEN 1 ELSE 0 END
+ ,CASE WHEN type LIKE '%B%' THEN true ELSE false END
+ ,CASE WHEN type LIKE '%C%' THEN true ELSE false END
+ ,CASE WHEN type LIKE '%D%' THEN true ELSE false END
+ ,CASE WHEN type LIKE '%P%' THEN true ELSE false END
+ ,CASE WHEN type LIKE '%R%' THEN true ELSE false END
+ ,CASE WHEN type LIKE '%S%' THEN true ELSE false END
FROM _useragent;
COMMIT;