19 public static readonly String SQL_CRAWLER =
21 "NULL AS client_id, " +
22 "NULL AS class_id, " +
23 "'Crawler' AS ua_class, " +
24 "'crawler' AS ua_class_code, " +
26 "NULL AS ua_engine, " +
27 "ver AS ua_version, " +
28 "ver_major AS ua_version_major, " +
29 "last_seen AS crawler_last_seen, " +
30 "respect_robotstxt AS crawler_respect_robotstxt, " +
31 "crawler_classification AS crawler_category, " +
32 "crawler_classification_code AS crawler_category_code, " +
33 "NULL AS ua_uptodate_current_version, " +
34 "family AS ua_family, " +
35 "family_code AS ua_family_code, " +
36 "family_homepage AS ua_family_homepage, " +
37 "family_icon AS ua_family_icon, " +
38 "NULL AS ua_family_icon_big, " +
39 "vendor AS ua_family_vendor, " +
40 "vendor_code AS ua_family_vendor_code, " +
41 "vendor_homepage AS ua_family_vendor_homepage, " +
42 "'https://udger.com/resources/ua-list/bot-detail?bot=' || REPLACE(family, ' ', '%20') || '#id' || udger_crawler_list.id AS ua_family_info_url " +
44 "udger_crawler_list " +
46 "udger_crawler_class ON udger_crawler_class.id = udger_crawler_list.class_id " +
50 public static readonly String SQL_CLIENT =
53 "client_id AS client_id, " +
54 "class_id AS class_id, " +
55 "client_classification AS ua_class, " +
56 "client_classification_code AS ua_class_code, " +
58 "engine AS ua_engine, " +
59 "NULL AS ua_version, " +
60 "NULL AS ua_version_major, " +
61 "NULL AS crawler_last_seen, " +
62 "NULL AS crawler_respect_robotstxt, " +
63 "NULL AS crawler_category, " +
64 "NULL AS crawler_category_code, " +
65 "uptodate_current_version AS ua_uptodate_current_version, " +
66 "name AS ua_family, " +
67 "name_code AS ua_family_code, " +
68 "homepage AS ua_family_homepage, " +
69 "icon AS ua_family_icon, " +
70 "icon_big AS ua_family_icon_big, " +
71 "vendor AS ua_family_vendor, " +
72 "vendor_code AS ua_family_vendor_code, " +
73 "vendor_homepage AS ua_family_vendor_homepage, " +
75 "'https://udger.com/resources/ua-list/browser-detail?browser=' || REPLACE(name, ' ', '%20') AS ua_family_info_url " +
77 "udger_client_regex ur " +
79 "udger_client_list ON udger_client_list.id = ur.client_id " +
81 "udger_client_class ON udger_client_class.id = udger_client_list.class_id " +
85 private static readonly String OS_COLUMNS =
86 "family AS os_family, " +
87 "family_code AS os_family_code, " +
89 "name_code AS os_code, " +
90 "homepage AS os_home_page, " +
92 "icon_big AS os_icon_big, " +
93 "vendor AS os_family_vendor, " +
94 "vendor_code AS os_family_vendor_code, " +
95 "vendor_homepage AS os_family_vedor_homepage, " +
96 "'https://udger.com/resources/ua-list/os-detail?os=' || REPLACE(name, ' ', '%20') AS os_info_url ";
98 public static readonly String SQL_OS =
103 "udger_os_regex ur " +
105 "udger_os_list ON udger_os_list.id = ur.os_id " +
109 public static readonly String SQL_CLIENT_OS =
113 "udger_client_os_relation " +
115 "udger_os_list ON udger_os_list.id = udger_client_os_relation.os_id " +
119 private static readonly String DEVICE_COLUMNS =
120 "name AS device_class, " +
121 "name_code AS device_class_code, " +
122 "icon AS device_class_icon, " +
123 "icon_big AS device_class_icon_big, " +
124 "'https://udger.com/resources/ua-list/device-detail?device=' || REPLACE(name, ' ', '%20') AS device_class_info_url ";
126 public static readonly String SQL_DEVICE =
131 "udger_deviceclass_regex ur " +
133 "udger_deviceclass_list ON udger_deviceclass_list.id = ur.deviceclass_id " +
138 public static readonly String SQL_CLIENT_CLASS =
142 "udger_deviceclass_list " +
144 "udger_client_class ON udger_client_class.deviceclass_id = udger_deviceclass_list.id " +
146 "udger_client_class.id = {0}";
148 private static readonly String IP_COLUMNS =
149 "ip_classification AS ip_classification, " +
150 "ip_classification_code AS ip_classification_code, " +
151 "ip_last_seen AS ip_last_seen, " +
152 "ip_hostname AS ip_hostname, " +
153 "ip_country AS ip_country, " +
154 "ip_country_code AS ip_country_code, " +
155 "ip_city AS ip_city, " +
156 "name AS crawler_name, " +
157 "ver AS crawler_ver, " +
158 "ver_major AS crawler_ver_major, " +
159 "family AS crawler_family, " +
160 "family_code AS crawler_family_code, " +
161 "family_homepage AS crawler_family_homepage, " +
162 "vendor AS crawler_family_vendor, " +
163 "vendor_code AS crawler_family_vendor_code, " +
164 "vendor_homepage AS crawler_family_vendor_homepage, " +
165 "family_icon AS crawler_family_icon, " +
166 "'https://udger.com/resources/ua-list/bot-detail?bot=' || REPLACE(family, ' ', '%20') || '#id' || udger_crawler_list.id AS crawler_family_info_url, " +
167 "last_seen AS crawler_last_seen, " +
168 "crawler_classification AS crawler_category, " +
169 "crawler_classification_code AS crawler_category_code, " +
170 "respect_robotstxt AS crawler_respect_robotstxt ";
172 public static readonly String SQL_IP =
178 "udger_ip_class ON udger_ip_class.id=udger_ip_list.class_id " +
180 "udger_crawler_list ON udger_crawler_list.id=udger_ip_list.crawler_id " +
182 "udger_crawler_class ON udger_crawler_class.id=udger_crawler_list.class_id " +
188 private static readonly String DATACENTER_COLUMNS =
189 "name AS datacenter_name, " +
190 "name_code AS datacenter_name_code, " +
191 "homepage AS datacenter_homepage ";
193 public static readonly String SQL_DATACENTER =
197 "udger_datacenter_range " +
199 "udger_datacenter_list ON udger_datacenter_range.datacenter_id = udger_datacenter_list.id " +
201 "iplong_from <= {0} AND iplong_to >= {1}";
203 public static readonly String SQL_DATACENTER_RANGE6 =
207 "udger_datacenter_range6 " +
209 "udger_datacenter_list ON udger_datacenter_range6.datacenter_id=udger_datacenter_list.id " +
211 "iplong_from0 <= {0} AND iplong_to0 >= {1} AND " +
212 "iplong_from1 <= {2} AND iplong_to1 >= {3} AND " +
213 "iplong_from2 <= {4} AND iplong_to2 >= {5} AND " +
214 "iplong_from3 <= {6} AND iplong_to3 >= {7} AND " +
215 "iplong_from4 <= {8} AND iplong_to4 >= {9} AND " +
216 "iplong_from5 <= {10} AND iplong_to5 >= {11} AND " +
217 "iplong_from6 <= {12} AND iplong_to6 >= {13} AND " +
218 "iplong_from7 <= {14} AND iplong_to7 >= {15}";
220 public static readonly String SQL_DEVICE_REGEX =
225 "udger_devicename_regex " +
227 "os_family_code='{0}' AND (os_code='-all-' OR os_code='{1}') " +
230 public static readonly String SQL_DEVICE_NAME_LIST =
239 "udger_devicename_list " +
241 "udger_devicename_brand ON udger_devicename_brand.id=udger_devicename_list.brand_id " +
243 "regex_id = '{0}' AND code = '{1}'";