// Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. suite("ip_functions") { sql "set batch_size = 4096;" qt_ip1 "SELECT ipv4_num_to_string(-1);" qt_ip2 "SELECT ipv4_num_to_string(2130706433);" qt_ip3 "SELECT ipv4_num_to_string(4294967298);" qt_ip4 "SELECT ipv4_num_to_string(3232235521);" qt_ip5 "SELECT inet_ntoa(-1);" qt_ip6 "SELECT inet_ntoa(2130706433);" qt_ip7 "SELECT inet_ntoa(4294967298);" qt_ip8 "SELECT inet_ntoa(3232235521);" qt_ip9 "SELECT ipv4_string_to_num('127.0.0.1');" qt_ip10 "SELECT ipv4_string_to_num_or_null('');" qt_ip11 "SELECT ipv4_string_to_num_or_default('');" qt_ip11_1 "SELECT ipv4_string_to_num_or_default('127.0.0.1');" qt_ip11_2 "SELECT ipv4_string_to_num_or_default('abc');" qt_ip11_3 "SELECT ipv4_string_to_num_or_default(NULL);" qt_ip12 "SELECT inet_aton('192.168.0.1');" qt_ip12_1 "SELECT inet_aton('192.168');" qt_ip12_2 "SELECT inet_aton('');" qt_ip12_3 "SELECT inet_aton(NULL);" qt_ip13 "SELECT ipv6_num_to_string(unhex('0A0005091'));" qt_ip14 "SELECT ipv6_num_to_string(unhex('2A0206B8000000000000000000000011'));" qt_ip15 "SELECT ipv6_num_to_string(unhex('FDFE0000000000005A55CAFFFEFA9089'));" qt_ip16 "SELECT ipv6_num_to_string(unhex(''));" qt_ip17 "SELECT ipv6_num_to_string(unhex('KK'));" qt_ip18 "SELECT ipv6_num_to_string(unhex('0A000509'));" qt_ip19 "SELECT ipv6_num_to_string(unhex('abcd123456'));" qt_ip20 "SELECT ipv6_num_to_string(unhex('ffffffffffffffffffffffffffffffffffffffffffffffffffffff'));" qt_ip21 "SELECT inet6_ntoa(unhex('0A0005091'));" qt_ip22 "SELECT inet6_ntoa(unhex('2A0206B8000000000000000000000011'));" qt_ip23 "SELECT inet6_ntoa(unhex(NULL));" qt_ip24 "SELECT inet6_ntoa(unhex('00000000000000000000000000000000'));" qt_ip25 "SELECT inet6_ntoa(unhex('0000000000000000000000000000'));" qt_ip26 "SELECT inet6_ntoa(unhex('000'));" qt_ip27 "SELECT inet6_ntoa(unhex('aaaaaaaaFFFFFFFFFFFFFFFFaaaaaaaa'));" qt_ip28 "SELECT inet6_ntoa(unhex('aaaa@#'));" qt_ip29 "SELECT inet6_ntoa(unhex('\0'));" qt_ip30 "SELECT inet6_ntoa(unhex('00000000000000000000FFFF7F000001'));" qt_ip31 "SELECT hex(ipv6_string_to_num('192.168.0.1'));" qt_ip32 "SELECT hex(ipv6_string_to_num('2a02:6b8::11'));" qt_ip33 "SELECT hex(ipv6_string_to_num('::'));" qt_ip34 "SELECT hex(ipv6_string_to_num('a0:50:9100::'));" qt_ip35 "SELECT hex(ipv6_string_to_num_or_default('192.168.0.1'));" qt_ip36 "SELECT hex(ipv6_string_to_num_or_default('2a02:6b8::11'));" qt_ip37 "SELECT hex(ipv6_string_to_num_or_default('::'));" qt_ip38 "SELECT hex(ipv6_string_to_num_or_default('KK'));" qt_ip39 "SELECT hex(ipv6_string_to_num_or_default('ffffffffffffffffffffffffffffffffffffffffffffffffffffff'));" qt_ip40 "SELECT hex(ipv6_string_to_num_or_null('192.168.0.1'));" qt_ip41 "SELECT hex(ipv6_string_to_num_or_null('2a02:6b8::11'));" qt_ip42 "SELECT hex(ipv6_string_to_num_or_null('::'));" qt_ip43 "SELECT hex(ipv6_string_to_num_or_null('KK'));" qt_ip44 "SELECT hex(ipv6_string_to_num_or_null('ffffffffffffffffffffffffffffffffffffffffffffffffffffff'));" qt_ip45 "SELECT hex(ipv6_string_to_num_or_null(''));" qt_ip46 "SELECT hex(ipv6_string_to_num_or_null(NULL));" qt_ip47 "SELECT hex(ipv6_string_to_num_or_null('\0'));" qt_ip48 "SELECT hex(ipv6_string_to_num_or_null('00'));" qt_ip49 "SELECT hex(ipv6_string_to_num_or_null('aaaa:aaaa:ffff:ffff:ffff:ffff:aaaa:aaaa'));" qt_ip50 "SELECT hex(inet6_aton('192.168.0.1'));" qt_ip51 "SELECT hex(inet6_aton('2a02:6b8::11'));" qt_ip51_1 "SELECT hex(inet6_aton(''));" qt_ip51_2 "SELECT hex(inet6_aton(NULL));" qt_ip51_3 "SELECT hex(inet6_aton('KK'));" qt_ip52 "SELECT is_ipv4_string('255.255.255.255');" qt_ip53 "SELECT is_ipv4_string('255.255.255.256');" qt_ip54 "SELECT is_ipv6_string('2001:5b0:23ff:fffa::113');" qt_ip55 "SELECT is_ipv6_string('2001:da8:e000:1691:2eaa:7eff:ffe7:7924e');" qt_ip56 "SELECT is_ipv4_compat(inet6_aton('::10.0.5.9'));" qt_ip57 "SELECT is_ipv4_compat(inet6_aton('::ffff:10.0.5.9'));" qt_ip58 "SELECT is_ipv4_compat(inet6_aton('::'));" qt_ip59 "SELECT is_ipv4_compat(inet6_aton('::c0a8:0001'));" qt_ip60 "SELECT is_ipv4_compat(inet6_aton('::0.0.0.0'));" qt_ip61 "SELECT is_ipv4_compat(inet6_aton('::255.255.255.255'));" qt_ip61_1 "SELECT is_ipv4_compat(inet6_aton(''));" qt_ip61_2 "SELECT is_ipv4_compat(inet6_aton(NULL));" qt_ip61_3 "SELECT is_ipv4_compat(inet6_aton('KK'));" qt_ip62 "SELECT is_ipv4_mapped(inet6_aton('::10.0.5.9'));" qt_ip63 "SELECT is_ipv4_mapped(inet6_aton('::ffff:10.0.5.9'));" qt_ip64 "SELECT is_ipv4_mapped(inet6_aton('::'));" qt_ip65 "SELECT is_ipv4_mapped(inet6_aton('::ffff:c0a8:0001'));" qt_ip65_1 "SELECT is_ipv4_mapped(inet6_aton(''));" qt_ip65_2 "SELECT is_ipv4_mapped(inet6_aton(NULL));" qt_ip65_3 "SELECT is_ipv4_mapped(inet6_aton('KK'));" }