mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-05 23:31:24 +00:00
2d2e738085
zlib's implementation uses CRC-32-IEEE 802.3 polynomial (0xedb88320) but with starting value 0xffffffff, so introduce another crc32 implementation - CRC32IEEE that has starting value - 0 Also add CRC64 with ECMA polynomial. v2: s/crc*_data./crc*_data./ to avoid conflicts with other crc32.h in contrib v3: join with existing CRC32()
26 lines
829 B
SQL
26 lines
829 B
SQL
USE test;
|
|
|
|
DROP TABLE IF EXISTS table1;
|
|
|
|
CREATE TABLE table1 (str1 String, str2 String) ENGINE = Memory;
|
|
|
|
INSERT INTO table1 VALUES('qwerty', 'string');
|
|
INSERT INTO table1 VALUES('qqq', 'aaa');
|
|
INSERT INTO table1 VALUES('aasq', 'xxz');
|
|
INSERT INTO table1 VALUES('zxcqwer', '');
|
|
INSERT INTO table1 VALUES('', '');
|
|
|
|
select CRC32('string');
|
|
select CrC32('string'), crc32('test'); -- We want to test, that function name is case-insensitive
|
|
select CRC32(str1) from table1 order by CRC32(str1);
|
|
select CRC32(str2) from table1 order by CRC32(str2);
|
|
select CRC32(str1), CRC32(str2) from table1 order by CRC32(str1), CRC32(str2);
|
|
select str1, str2, CRC32(str1), CRC32(str2) from table1 order by CRC32(str1), CRC32(str2);
|
|
|
|
DROP TABLE table1;
|
|
|
|
SELECT 'CRC32IEEE()';
|
|
SELECT hex(CRC32IEEE('foo'));
|
|
SELECT 'CRC64()';
|
|
SELECT hex(CRC64('foo'));
|