Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/MariaDB/mysql-test/main/   (MariaDB Server Version 8.1-8.4©)  Datei vom 1.9.2026 mit Größe 2 kB image not shown  

Quelle  func_bit.test  Sprache: unbekannt

 
Spracherkennung für: .test vermutete Sprache: SQL {SQL[121] Lisp[51] Masm[51]} [Methode: maximale Elemente, drei Dimensionen]

--echo #
--echo # Start of 10.5 tests
--echo #

--echo #
--echo # MDEV-20305 Data loss on DOUBLE and DECIMAL conversion to INT
--echo #

DELIMITER $$;
CREATE PROCEDURE p1(type VARCHAR(64), val VARCHAR(64))
BEGIN
  EXECUTE IMMEDIATE CONCAT('CREATE TABLE t1 (a ', type, ')');
  SHOW CREATE TABLE t1;
  EXECUTE IMMEDIATE CONCAT('INSERT INTO t1 VALUES (', val, ')');
  SELECT
    a,
    ~a,
    a & 18446744073709551615,
    18446744073709551615 & a,
    0 | a,
    a | 0,
    a << 0,
    a >> 0,
    a ^ 1,
    1 ^ a,
    BIT_COUNT(a)
  FROM t1;
  SHOW WARNINGS;
  DROP TABLE t1;
END;
$$
DELIMITER ;$$

--vertical_results
CALL p1('BIGINT UNSIGNED', 18446744073709551615);
CALL p1('DOUBLE',          18446744073709551615);
CALL p1('DECIMAL(30,0)',   18446744073709551615);

CALL p1('BIGINT',          -1);
CALL p1('DOUBLE',          -1);
CALL p1('DECIMAL(30,0)',   -1);

CALL p1('BIGINT',          -9223372036854775808);
CALL p1('DOUBLE',          -9223372036854775808);
CALL p1('DECIMAL(30,0)',   -9223372036854775808);
--horizontal_results

DROP PROCEDURE p1;


SELECT CAST(CAST(18446744073709551615 AS UNSIGNED) AS DECIMAL(32))<<0 AS c1;
SELECT CAST(CAST(18446744073709551615 AS UNSIGNED) AS DOUBLE)<<0 AS c1;

SELECT COALESCE(CAST(CAST(0xFFFFFFFFFFFFFFFF AS UNSIGNED) AS DECIMAL(32))) << 0 AS c1;
SELECT COALESCE(CAST(CAST(0xFFFFFFFFFFFFFFFF AS UNSIGNED) AS DOUBLE)) << 0 AS c1;

SELECT 18446744073709551615 ^ 1 AS c1;
SELECT 18446744073709551615.0 ^ 1 AS c1;
SELECT 18446744073709551615e0 ^ 1 AS c1;

SELECT LAST_VALUE(18446744073709551615) ^ 1 AS c1;
SELECT LAST_VALUE(18446744073709551615.0) ^ 1 AS c1;
SELECT LAST_VALUE(18446744073709551615e0) ^ 1 AS c1;

SELECT 18446744073709551615 & 18446744073709551615 AS c1;
SELECT 18446744073709551615 & 18446744073709551615.0 AS c1;
SELECT 18446744073709551615 & 18446744073709551615e0 AS c1;
SELECT 18446744073709551615.0 & 18446744073709551615 AS c1;
SELECT 18446744073709551615.0 & 18446744073709551615.0 AS c1;
SELECT 18446744073709551615.0 & 18446744073709551615e0 AS c1;
SELECT 18446744073709551615e0 & 18446744073709551615 AS c1;
SELECT 18446744073709551615e0 & 18446744073709551615.0 AS c1;
SELECT 18446744073709551615e0 & 18446744073709551615e0 AS c1;


SELECT 0 | 18446744073709551615 AS c1;
SELECT 0 | 18446744073709551615.0 AS c1;
SELECT 0 | 18446744073709551615e0 AS c1;
SELECT 18446744073709551615 | 0 AS c1;
SELECT 18446744073709551615.0 | 0 AS c1;
SELECT 18446744073709551615e0 | 0 AS c1;

SELECT ~18446744073709551615 AS c1;
SELECT ~18446744073709551615.0 AS c1;
SELECT ~18446744073709551615e0 AS c1;

SELECT BIT_COUNT(18446744073709551615) AS c1;
SELECT BIT_COUNT(18446744073709551615.0) AS c1;
SELECT BIT_COUNT(18446744073709551615e0) AS c1;

SELECT BIT_COUNT(-9223372036854775808) AS c1;
SELECT BIT_COUNT(-9223372036854775808.0) AS c1;
SELECT BIT_COUNT(-9223372036854775808e0) AS c1;

--echo #
--echo # End of 10.5 tests
--echo #

[Dauer der Verarbeitung: 0.12 Sekunden, vorverarbeitet 2026-10-08]