mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-20 06:32:08 +00:00
2716df8ab2
Added: * IDataTypeDomain interface; * method DataTypeFactory::registerDataTypeDomain for registering domains; * DataTypeDomainWithSimpleSerialization domain base class with simple serialization/deserialization; * Concrete IPv4 and IPv6 domain implementations: DataTypeDomanIPv6 and DataTypeDomanIPv4; Updated: * IDataType text serialization/deserialization methods; * IDataType implementation to use domain for text serialization/deserialization; * Refactored implementation of the IPv4/IPv6 functions to use formatIPv4/v6 and parseIPv4/v6 from Common/formatIPv6.h; Tests: * Added test cases for IPv4 and IPv6 domains. * Updated IPv4/v6 functions tests to validate more cases; * Added performance tests for IPv4 and IPv6 related functions;
257 lines
13 KiB
XML
257 lines
13 KiB
XML
<test>
|
||
<name>IPv6 Functions</name>
|
||
|
||
<type>once</type>
|
||
|
||
<tags>
|
||
</tags>
|
||
|
||
<stop_conditions>
|
||
<any_of>
|
||
<average_speed_not_changing_for_ms>2000</average_speed_not_changing_for_ms>
|
||
<total_time_ms>10000</total_time_ms>
|
||
</any_of>
|
||
</stop_conditions>
|
||
|
||
<metrics>
|
||
<max_rows_per_second />
|
||
<max_bytes_per_second />
|
||
<avg_rows_per_second />
|
||
<avg_bytes_per_second />
|
||
</metrics>
|
||
|
||
<substitutions>
|
||
<substitution>
|
||
<name>ipv6_string</name>
|
||
<values>
|
||
<!-- The CAIDA UCSD IPv4 Routed /24 DNS Names Dataset - 20181130,
|
||
http://www.caida.org/data/active/ipv4_dnsnames_dataset.xml.
|
||
Randomly selected entries from first 50000 rows of dataset. -->
|
||
<value>2606:2b00::1</value>
|
||
<value>2001:2000:3080:1351::2</value>
|
||
<value>2a01:8840:16::1</value>
|
||
<value>2001:550:0:1000::9a36:2a61</value>
|
||
<value>2001:578:400:4:2000::19</value>
|
||
<value>2607:f290::1</value>
|
||
<value>2a02:23f0:ffff:8::5</value>
|
||
<value>2400:c700:0:158::</value>
|
||
<value>2001:67c:24e4:4::250</value>
|
||
<value>2a02:2a38:37:5::2</value>
|
||
<value>2001:41a8:400:2::13a</value>
|
||
<value>2405:9800:9800:66::2</value>
|
||
<value>2a07:a343:f210::1</value>
|
||
<value>2403:5000:171:46::2</value>
|
||
<value>2800:c20:1141::8</value>
|
||
<value>2402:7800:40:2::62</value>
|
||
<value>2a00:de00::1</value>
|
||
<value>2001:688:0:2:1::9e</value>
|
||
<value>2001:2000:3080:80::2</value>
|
||
<value>2001:428::205:171:200:230</value>
|
||
<value>2001:fb1:fe0:9::8</value>
|
||
<value>2001:2000:3080:10ca::2</value>
|
||
<value>2400:dd0b:1003::2</value>
|
||
<value>2001:1a98:6677::9d9d:140a</value>
|
||
<value>2001:2000:3018:3b::1</value>
|
||
<value>2607:fa70:3:33::2</value>
|
||
<value>2001:5b0:23ff:fffa::113</value>
|
||
<value>2001:450:2001:1000:0:40:6924:23</value>
|
||
<value>2001:418:0:5000::c2d</value>
|
||
<value>2a01:b740:a09::1</value>
|
||
<value>2607:f0d0:2:2::243</value>
|
||
<value>2a01:348::e:1:1</value>
|
||
<value>2405:4800::3221:3621:2</value>
|
||
<value>2a02:aa08:e000:3100::2</value>
|
||
<value>2001:44c8:129:2632:33:0:252:2</value>
|
||
<value>2a02:e980:1e::1</value>
|
||
<value>2a0a:6f40:2::1</value>
|
||
<value>2001:550:2:29::2c9:1</value>
|
||
<value>2001:c20:4800::175</value>
|
||
<value>2c0f:feb0:1:2::d1</value>
|
||
<value>2a0b:7086:fff0::1</value>
|
||
<value>2a04:2dc0::16d</value>
|
||
<value>2604:7e00::105d</value>
|
||
<value>2001:470:1:946::2</value>
|
||
<value>2a0c:3240::1</value>
|
||
<value>2800:630:4010:8::2</value>
|
||
<value>2001:1af8:4040::12</value>
|
||
<value>2c0f:fc98:1200::2</value>
|
||
<value>2001:470:1:248::2</value>
|
||
<value>2620:44:a000::1</value>
|
||
<value>2402:800:63ff:40::1</value>
|
||
<value>2a02:b000:fff::524</value>
|
||
<value>2001:470:0:327::1</value>
|
||
<value>2401:7400:8888:2::8</value>
|
||
<value>2001:500:55::1</value>
|
||
<value>2001:668:0:3::f000:c2</value>
|
||
<value>2400:bf40::1</value>
|
||
<value>2001:67c:754::1</value>
|
||
<value>2402:28c0:100:ffff:ffff:ffff:ffff:ffff</value>
|
||
<value>2001:470:0:1fa::2</value>
|
||
<value>2001:550:0:1000::9a18:292a</value>
|
||
<value>2001:470:1:89e::2</value>
|
||
<value>2001:579:6f05:500:9934:5b3e:b7fe:1447</value>
|
||
<value>2804:158c::1</value>
|
||
<value>2600:140e:6::1</value>
|
||
<value>2a00:18e0:0:bb04::82</value>
|
||
<value>2a02:2698:5000::1e06</value>
|
||
<value>2402:800:63ff:10::7:2</value>
|
||
<value>2a02:e980:19::1</value>
|
||
<value>2001:4888::342:1:0:0</value>
|
||
<value>2607:fc68:0:4:0:2:2711:21</value>
|
||
<value>2606:2800:602a::1</value>
|
||
<value>2404:c600:1000:2::1d1</value>
|
||
<value>2001:578:1400:4::9d</value>
|
||
<value>2804:64:0:25::1</value>
|
||
<value>2605:3e00::1:2:2</value>
|
||
<value>2c0f:fa18:0:4::b</value>
|
||
<value>2606:2800:602c:b::d004</value>
|
||
<value>2610:18:181:4000::66</value>
|
||
<value>2001:48f8:1000:1::16</value>
|
||
<value>2408:8000:c000::1</value>
|
||
<value>2a03:4200:441:2::4e</value>
|
||
<value>2400:dd00:1:200a::2</value>
|
||
<value>2a02:e980:83:5b09:ecb8:c669:b336:650e</value>
|
||
<value>2001:16a0:2:200a::2</value>
|
||
<value>2001:4888:1f:e891:161:26::</value>
|
||
<value>2a0c:f743::1</value>
|
||
<value>2a02:e980:b::1</value>
|
||
<value>2001:578:201:1::601:9</value>
|
||
<value>2001:438:ffff::407d:1bc1</value>
|
||
<value>2001:920:1833::1</value>
|
||
<value>2001:1b70:a1:610::b102:2</value>
|
||
<value>2001:13c7:6014::1</value>
|
||
<value>2003:0:1203:4001::1</value>
|
||
<value>2804:a8:2:c8::d6</value>
|
||
<value>2a02:2e00:2080:f000:0:261:1:11</value>
|
||
<value>2001:578:20::d</value>
|
||
<value>2001:550:2:48::34:1</value>
|
||
<value>2a03:9d40:fe00:5::</value>
|
||
<value>2403:e800:200:102::2</value>
|
||
|
||
<!-- The CAIDA UCSD IPv4 Routed /24 DNS Names Dataset – 20171130,
|
||
http://www.caida.org/data/active/ipv4_dnsnames_dataset.xml.
|
||
Randomly selected entries from first 50000 rows of dataset.
|
||
IPv4 addresses from dataset are represented in IPv6 form. -->
|
||
<value tag="mapped">::ffff:116.253.40.133</value>
|
||
<value tag="mapped">::ffff:183.247.232.58</value>
|
||
<value tag="mapped">::ffff:116.106.34.242</value>
|
||
<value tag="mapped">::ffff:111.56.27.171</value>
|
||
<value tag="mapped">::ffff:183.245.137.140</value>
|
||
<value tag="mapped">::ffff:183.212.25.70</value>
|
||
<value tag="mapped">::ffff:162.144.2.57</value>
|
||
<value tag="mapped">::ffff:111.4.229.190</value>
|
||
<value tag="mapped">::ffff:59.52.3.168</value>
|
||
<value tag="mapped">::ffff:115.11.21.200</value>
|
||
<value tag="mapped">::ffff:121.28.97.113</value>
|
||
<value tag="mapped">::ffff:111.46.39.248</value>
|
||
<value tag="mapped">::ffff:120.192.122.34</value>
|
||
<value tag="mapped">::ffff:113.56.44.105</value>
|
||
<value tag="mapped">::ffff:116.66.238.92</value>
|
||
<value tag="mapped">::ffff:67.22.254.206</value>
|
||
<value tag="mapped">::ffff:115.0.24.191</value>
|
||
<value tag="mapped">::ffff:182.30.107.86</value>
|
||
<value tag="mapped">::ffff:223.73.153.243</value>
|
||
<value tag="mapped">::ffff:115.159.103.38</value>
|
||
<value tag="mapped">::ffff:36.186.75.121</value>
|
||
<value tag="mapped">::ffff:111.56.188.125</value>
|
||
<value tag="mapped">::ffff:115.14.93.25</value>
|
||
<value tag="mapped">::ffff:211.97.110.141</value>
|
||
<value tag="mapped">::ffff:61.58.96.173</value>
|
||
<value tag="mapped">::ffff:203.126.212.37</value>
|
||
<value tag="mapped">::ffff:192.220.125.142</value>
|
||
<value tag="mapped">::ffff:115.22.20.223</value>
|
||
<value tag="mapped">::ffff:121.25.160.80</value>
|
||
<value tag="mapped">::ffff:117.150.98.199</value>
|
||
<value tag="mapped">::ffff:183.211.172.143</value>
|
||
<value tag="mapped">::ffff:180.244.18.143</value>
|
||
<value tag="mapped">::ffff:209.131.3.252</value>
|
||
<value tag="mapped">::ffff:220.200.1.22</value>
|
||
<value tag="mapped">::ffff:171.225.130.45</value>
|
||
<value tag="mapped">::ffff:115.4.78.200</value>
|
||
<value tag="mapped">::ffff:36.183.59.29</value>
|
||
<value tag="mapped">::ffff:218.42.159.17</value>
|
||
<value tag="mapped">::ffff:115.13.39.164</value>
|
||
<value tag="mapped">::ffff:142.254.161.133</value>
|
||
<value tag="mapped">::ffff:116.2.211.43</value>
|
||
<value tag="mapped">::ffff:36.183.126.25</value>
|
||
<value tag="mapped">::ffff:66.150.171.196</value>
|
||
<value tag="mapped">::ffff:104.149.148.137</value>
|
||
<value tag="mapped">::ffff:120.239.82.212</value>
|
||
<value tag="mapped">::ffff:111.14.182.156</value>
|
||
<value tag="mapped">::ffff:115.6.63.224</value>
|
||
<value tag="mapped">::ffff:153.35.83.233</value>
|
||
<value tag="mapped">::ffff:113.142.1.1</value>
|
||
<value tag="mapped">::ffff:121.25.82.29</value>
|
||
<value tag="mapped">::ffff:62.151.203.189</value>
|
||
<value tag="mapped">::ffff:104.27.46.146</value>
|
||
<value tag="mapped">::ffff:36.189.46.88</value>
|
||
<value tag="mapped">::ffff:116.252.54.207</value>
|
||
<value tag="mapped">::ffff:64.77.240.1</value>
|
||
<value tag="mapped">::ffff:142.252.102.78</value>
|
||
<value tag="mapped">::ffff:36.82.224.170</value>
|
||
<value tag="mapped">::ffff:117.33.191.217</value>
|
||
<value tag="mapped">::ffff:144.12.164.251</value>
|
||
<value tag="mapped">::ffff:122.10.93.66</value>
|
||
<value tag="mapped">::ffff:104.25.84.59</value>
|
||
<value tag="mapped">::ffff:111.4.242.106</value>
|
||
<value tag="mapped">::ffff:222.216.51.186</value>
|
||
<value tag="mapped">::ffff:112.33.13.212</value>
|
||
<value tag="mapped">::ffff:115.9.240.116</value>
|
||
<value tag="mapped">::ffff:171.228.0.153</value>
|
||
<value tag="mapped">::ffff:45.3.47.158</value>
|
||
<value tag="mapped">::ffff:69.57.193.230</value>
|
||
<value tag="mapped">::ffff:115.6.104.199</value>
|
||
<value tag="mapped">::ffff:104.24.237.140</value>
|
||
<value tag="mapped">::ffff:199.17.84.108</value>
|
||
<value tag="mapped">::ffff:120.193.17.57</value>
|
||
<value tag="mapped">::ffff:112.40.38.145</value>
|
||
<value tag="mapped">::ffff:67.55.90.43</value>
|
||
<value tag="mapped">::ffff:180.253.57.249</value>
|
||
<value tag="mapped">::ffff:14.204.253.158</value>
|
||
<value tag="mapped">::ffff:1.83.241.116</value>
|
||
<value tag="mapped">::ffff:202.198.37.147</value>
|
||
<value tag="mapped">::ffff:115.6.31.95</value>
|
||
<value tag="mapped">::ffff:117.32.14.179</value>
|
||
<value tag="mapped">::ffff:23.238.237.26</value>
|
||
<value tag="mapped">::ffff:116.97.76.104</value>
|
||
<value tag="mapped">::ffff:1.80.2.248</value>
|
||
<value tag="mapped">::ffff:59.50.185.152</value>
|
||
<value tag="mapped">::ffff:42.117.228.166</value>
|
||
<value tag="mapped">::ffff:119.36.22.147</value>
|
||
<value tag="mapped">::ffff:210.66.18.184</value>
|
||
<value tag="mapped">::ffff:115.19.192.159</value>
|
||
<value tag="mapped">::ffff:112.15.128.113</value>
|
||
<value tag="mapped">::ffff:1.55.138.211</value>
|
||
<value tag="mapped">::ffff:210.183.19.113</value>
|
||
<value tag="mapped">::ffff:42.115.43.114</value>
|
||
<value tag="mapped">::ffff:58.16.171.31</value>
|
||
<value tag="mapped">::ffff:171.234.78.185</value>
|
||
<value tag="mapped">::ffff:113.56.43.134</value>
|
||
<value tag="mapped">::ffff:111.53.182.225</value>
|
||
<value tag="mapped">::ffff:107.160.215.141</value>
|
||
<value tag="mapped">::ffff:171.229.231.90</value>
|
||
<value tag="mapped">::ffff:58.19.84.138</value>
|
||
<value tag="mapped">::ffff:36.79.88.107</value>
|
||
|
||
<!-- invalid values -->
|
||
<value tag="error"></value>
|
||
<value tag="error"> </value>
|
||
<value tag="error">1</value>
|
||
<value tag="error">1.</value>
|
||
<value tag="error">1.2.</value>
|
||
<value tag="error">.2.</value>
|
||
<value tag="error">abc</value>
|
||
<value tag="error">ab:cd:ef:gh:ij:kl:mn</value>
|
||
<value tag="error">ffffffffffffff</value>
|
||
<value tag="error">abcdefghijklmn</value>
|
||
<value tag="error">::::::::::::::</value>
|
||
<value tag="error">::ffff:127.0.0.1 </value>
|
||
<value tag="error"> ::ffff:127.0.0.1</value>
|
||
<value tag="error">::ffff:999.999.999.999</value>
|
||
</values>
|
||
</substitution>
|
||
</substitutions>
|
||
|
||
<query tag="IPv6StringToNum">SELECT count() FROM system.numbers WHERE NOT ignore(IPv6StringToNum(materialize('{ipv6_string}')))</query>
|
||
<query tag="IPv6NumToString+IPv6StringToNum">SELECT count() FROM system.numbers WHERE NOT ignore(IPv6NumToString(IPv6StringToNum(materialize('{ipv6_string}'))))</query>
|
||
</test> |