Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<pre><code>-- -- Dumping routines for database -- /*!50003 DROP FUNCTION IF EXISTS `INET_ATOC` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8 */ ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ALLOW_INVALID_DATES' */ ; DELIMITER ;; CREATE DEFINER=`root`@`localhost` FUNCTION `INET_ATOC`(`paramNETMASK` varchar(15)) RETURNS int(2) unsigned DETERMINISTIC COMMENT 'Converts an IPv4 netmask in dotted decimal notation to a CIDR integer between 0 and 32' BEGIN DECLARE `netmask` int unsigned; DECLARE `cidr` int unsigned; SET `netmask` = INET_ATON(`paramNETMASK`); IF (`netmask` IS NULL) THEN RETURN NULL; ELSE SET `cidr` = 0; countNetBits: WHILE (`cidr` &lt; 32) DO IF ( (0x80000000 &amp; `netmask`) = 0x80000000 ) THEN SET `netmask` = 0xFFFFFFFF &amp; (`netmask` &lt;&lt; 1); SET `cidr` = `cidr` + 1; ELSE LEAVE countNetBits; END IF; END WHILE; IF (`netmask` != 0) THEN RETURN NULL; END IF; RETURN `cidr`; END IF; END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP FUNCTION IF EXISTS `INET_CTOA` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8 */ ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ALLOW_INVALID_DATES' */ ; DELIMITER ;; CREATE DEFINER=`root`@`localhost` FUNCTION `INET_CTOA`(`paramCIDR` int) RETURNS varchar(15) CHARSET utf8 DETERMINISTIC COMMENT 'Converts a CIDR suffix (integer between 0 and 32) to an IPv4 netmask in dotted decimal notation' BEGIN DECLARE `netmask` int unsigned; IF ( (`paramCIDR` &lt; 0) OR (`paramCIDR` &gt; 32) ) THEN RETURN NULL; ELSE SET `netmask` = 0xFFFFFFFF - (pow( 2, (32-`paramCIDR`) ) - 1); RETURN INET_NTOA(`netmask`); END IF; END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `getSubnet` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8 */ ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = '' */ ; DELIMITER ;; CREATE DEFINER=`root`@`localhost` PROCEDURE `getSubnet`(INOUT `paramADDR` VARCHAR(15), INOUT `paramCIDR` INT, OUT `paramMASK` VARCHAR(15), OUT `paramNETWORK` VARCHAR(15), OUT `paramBROADCAST` VARCHAR(15), OUT `paramNUMHOSTS` INT) CHARSET utf8 DETERMINISTIC BEGIN DECLARE `numaddrs` int unsigned; DECLARE `ipaddr` int unsigned; DECLARE `netmask` int unsigned; DECLARE `wildcard` int unsigned; DECLARE `network` int unsigned; DECLARE `broadcast` int unsigned; DECLARE `numhosts` int unsigned; SET `ipaddr` = INET_ATON(`paramADDR`); IF (`ipaddr` IS NULL) OR (`paramCIDR` &lt; 1) OR (`paramCIDR` &gt; 30) THEN SELECT NULL, NULL, NULL, NULL, NULL, NULL INTO `paramADDR`, `paramCIDR`, `paramMASK`, `paramNETWORK`, `paramBROADCAST`, `paramNUMHOSTS`; ELSE SET `numaddrs` = pow( 2, (32-`paramCIDR`) ); SET `numhosts` = `numaddrs` - 2; SET `netmask` = 0xFFFFFFFF - (`numaddrs` - 1); SET `wildcard` = 0xFFFFFFFF &amp; (~`netmask`); SET `network` = `ipaddr` &amp; `netmask`; SET `broadcast` = `ipaddr` | `wildcard`; SELECT INET_NTOA(`ipaddr`), `paramCIDR`, INET_NTOA(`netmask`), INET_NTOA(`network`), INET_NTOA(`broadcast`), `numhosts` INTO `paramADDR`, `paramCIDR`, `paramMASK`, `paramNETWORK`, `paramBROADCAST`, `paramNUMHOSTS`; END IF; END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload