mirror of
https://github.com/pgpointcloud/pointcloud.git
synced 2025-12-08 20:36:04 +00:00
Merge pull request #224 from pblottiere/fix_installcheck_tests
Fix compilation and installcheck when lazperf is disabled
This commit is contained in:
commit
872f0b6f03
@ -25,6 +25,7 @@ addons:
|
||||
|
||||
script:
|
||||
- eclint check * */* */cunit/*
|
||||
- ./tools/build-install.sh # test compilation without lazperf
|
||||
- ./tools/build-install.sh --with-lazperf=/usr/local && make check && ./tools/valgrind.sh
|
||||
- make installcheck || { cat pgsql/regression.diffs && false; }
|
||||
- (cd tools/benchmark_compression && sh compression_benchmark.sh)
|
||||
|
||||
@ -913,6 +913,7 @@ test_patch_range_compression_none_with_out_of_bounds_first()
|
||||
test_patch_range_compression_none_with_bad_arguments(21, 1);
|
||||
}
|
||||
|
||||
#ifdef HAVE_LAZPERF
|
||||
static void
|
||||
test_patch_range_compression_lazperf()
|
||||
{
|
||||
@ -947,6 +948,7 @@ test_patch_range_compression_lazperf()
|
||||
pc_patch_free(pa);
|
||||
pc_pointlist_free(pl);
|
||||
}
|
||||
#endif /* HAVE_LAZPERF */
|
||||
|
||||
static void
|
||||
test_patch_range_compression_dimensional(enum DIMCOMPRESSIONS dimcomp)
|
||||
|
||||
@ -38,6 +38,39 @@ VALUES (5, 0,
|
||||
<Metadata name="compression">laz</Metadata>
|
||||
</pc:metadata>
|
||||
</pc:PointCloudSchema>'
|
||||
)
|
||||
,(10, 0, -- All (signed) interpretations, uncompressed
|
||||
'<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pc:PointCloudSchema xmlns:pc="http://pointcloud.org/schemas/PC/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<pc:dimension> <pc:position>1</pc:position> <pc:name>x</pc:name>
|
||||
<pc:size>1</pc:size> <pc:interpretation>int8_t</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>2</pc:position> <pc:name>y</pc:name>
|
||||
<pc:size>2</pc:size> <pc:interpretation>int8_t</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>3</pc:position> <pc:name>i2</pc:name>
|
||||
<pc:size>2</pc:size> <pc:interpretation>int16_t</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>4</pc:position> <pc:name>i4</pc:name>
|
||||
<pc:size>4</pc:size> <pc:interpretation>int32_t</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>5</pc:position> <pc:name>i8</pc:name>
|
||||
<pc:size>8</pc:size> <pc:interpretation>int64_t</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>6</pc:position> <pc:name>f4</pc:name>
|
||||
<pc:size>4</pc:size> <pc:interpretation>float</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>7</pc:position> <pc:name>f8</pc:name>
|
||||
<pc:size>8</pc:size> <pc:interpretation>double</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
</pc:PointCloudSchema>'
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS pa_test_laz (
|
||||
id SERIAL,
|
||||
@ -373,4 +406,115 @@ SELECT pc_astext(PC_PointN(pa, 2)) FROM pa_test_laz;
|
||||
{"pcid":5,"pt":[2,1.9,0.34,10]}
|
||||
(1 row)
|
||||
|
||||
WITH points AS (
|
||||
SELECT ARRAY[
|
||||
(2^08/256.0*v)*0.01, -- int8_t
|
||||
-(2^08/256.0*v)*0.01, -- int8_t
|
||||
(2^16/256.0*v)*0.01, -- int16_t
|
||||
(2^32/256.0*v)*0.01, -- int32_t
|
||||
(2^64/256.0*v)*0.01, -- int64_t
|
||||
(2^32/256.0*v)*0.01, -- float
|
||||
(2^64/256.0*v)*0.01 -- double
|
||||
] a, v/16 v
|
||||
FROM generate_series(-127,127,4) v
|
||||
), p1 AS (
|
||||
SELECT v, PC_Patch(PC_MakePoint(10, a)) p from points -- uncompressed
|
||||
GROUP BY v
|
||||
)
|
||||
SELECT 'compr' test,
|
||||
p1.v, compr, sc,
|
||||
PC_AsText(p1.p) =
|
||||
PC_AsText(PC_Compress(p1.p, compr,
|
||||
array_to_string(
|
||||
array_fill(sc,ARRAY[7]),
|
||||
','
|
||||
)
|
||||
)) ok
|
||||
FROM p1, ( values
|
||||
('dimensional','rle'),
|
||||
('dimensional','zlib'),
|
||||
('dimensional','sigbits'),
|
||||
('dimensional','auto'),
|
||||
('laz', 'null')
|
||||
) dimcompr(compr,sc)
|
||||
ORDER BY compr,sc,v;
|
||||
test | v | compr | sc | ok
|
||||
-------+----+-------------+---------+----
|
||||
compr | -7 | dimensional | auto | t
|
||||
compr | -6 | dimensional | auto | t
|
||||
compr | -5 | dimensional | auto | t
|
||||
compr | -4 | dimensional | auto | t
|
||||
compr | -3 | dimensional | auto | t
|
||||
compr | -2 | dimensional | auto | t
|
||||
compr | -1 | dimensional | auto | t
|
||||
compr | 0 | dimensional | auto | t
|
||||
compr | 1 | dimensional | auto | t
|
||||
compr | 2 | dimensional | auto | t
|
||||
compr | 3 | dimensional | auto | t
|
||||
compr | 4 | dimensional | auto | t
|
||||
compr | 5 | dimensional | auto | t
|
||||
compr | 6 | dimensional | auto | t
|
||||
compr | 7 | dimensional | auto | t
|
||||
compr | -7 | dimensional | rle | t
|
||||
compr | -6 | dimensional | rle | t
|
||||
compr | -5 | dimensional | rle | t
|
||||
compr | -4 | dimensional | rle | t
|
||||
compr | -3 | dimensional | rle | t
|
||||
compr | -2 | dimensional | rle | t
|
||||
compr | -1 | dimensional | rle | t
|
||||
compr | 0 | dimensional | rle | t
|
||||
compr | 1 | dimensional | rle | t
|
||||
compr | 2 | dimensional | rle | t
|
||||
compr | 3 | dimensional | rle | t
|
||||
compr | 4 | dimensional | rle | t
|
||||
compr | 5 | dimensional | rle | t
|
||||
compr | 6 | dimensional | rle | t
|
||||
compr | 7 | dimensional | rle | t
|
||||
compr | -7 | dimensional | sigbits | t
|
||||
compr | -6 | dimensional | sigbits | t
|
||||
compr | -5 | dimensional | sigbits | t
|
||||
compr | -4 | dimensional | sigbits | t
|
||||
compr | -3 | dimensional | sigbits | t
|
||||
compr | -2 | dimensional | sigbits | t
|
||||
compr | -1 | dimensional | sigbits | t
|
||||
compr | 0 | dimensional | sigbits | t
|
||||
compr | 1 | dimensional | sigbits | t
|
||||
compr | 2 | dimensional | sigbits | t
|
||||
compr | 3 | dimensional | sigbits | t
|
||||
compr | 4 | dimensional | sigbits | t
|
||||
compr | 5 | dimensional | sigbits | t
|
||||
compr | 6 | dimensional | sigbits | t
|
||||
compr | 7 | dimensional | sigbits | t
|
||||
compr | -7 | dimensional | zlib | t
|
||||
compr | -6 | dimensional | zlib | t
|
||||
compr | -5 | dimensional | zlib | t
|
||||
compr | -4 | dimensional | zlib | t
|
||||
compr | -3 | dimensional | zlib | t
|
||||
compr | -2 | dimensional | zlib | t
|
||||
compr | -1 | dimensional | zlib | t
|
||||
compr | 0 | dimensional | zlib | t
|
||||
compr | 1 | dimensional | zlib | t
|
||||
compr | 2 | dimensional | zlib | t
|
||||
compr | 3 | dimensional | zlib | t
|
||||
compr | 4 | dimensional | zlib | t
|
||||
compr | 5 | dimensional | zlib | t
|
||||
compr | 6 | dimensional | zlib | t
|
||||
compr | 7 | dimensional | zlib | t
|
||||
compr | -7 | laz | null | t
|
||||
compr | -6 | laz | null | t
|
||||
compr | -5 | laz | null | t
|
||||
compr | -4 | laz | null | t
|
||||
compr | -3 | laz | null | t
|
||||
compr | -2 | laz | null | t
|
||||
compr | -1 | laz | null | t
|
||||
compr | 0 | laz | null | t
|
||||
compr | 1 | laz | null | t
|
||||
compr | 2 | laz | null | t
|
||||
compr | 3 | laz | null | t
|
||||
compr | 4 | laz | null | t
|
||||
compr | 5 | laz | null | t
|
||||
compr | 6 | laz | null | t
|
||||
compr | 7 | laz | null | t
|
||||
(75 rows)
|
||||
|
||||
TRUNCATE pointcloud_formats;
|
||||
|
||||
@ -531,8 +531,7 @@ FROM p1, ( values
|
||||
('dimensional','rle'),
|
||||
('dimensional','zlib'),
|
||||
('dimensional','sigbits'),
|
||||
('dimensional','auto'),
|
||||
('laz','null')
|
||||
('dimensional','auto')
|
||||
) dimcompr(compr,sc)
|
||||
ORDER BY compr,sc,v;
|
||||
test | v | compr | sc | ok
|
||||
@ -597,22 +596,7 @@ ORDER BY compr,sc,v;
|
||||
compr | 5 | dimensional | zlib | t
|
||||
compr | 6 | dimensional | zlib | t
|
||||
compr | 7 | dimensional | zlib | t
|
||||
compr | -7 | laz | null | t
|
||||
compr | -6 | laz | null | t
|
||||
compr | -5 | laz | null | t
|
||||
compr | -4 | laz | null | t
|
||||
compr | -3 | laz | null | t
|
||||
compr | -2 | laz | null | t
|
||||
compr | -1 | laz | null | t
|
||||
compr | 0 | laz | null | t
|
||||
compr | 1 | laz | null | t
|
||||
compr | 2 | laz | null | t
|
||||
compr | 3 | laz | null | t
|
||||
compr | 4 | laz | null | t
|
||||
compr | 5 | laz | null | t
|
||||
compr | 6 | laz | null | t
|
||||
compr | 7 | laz | null | t
|
||||
(75 rows)
|
||||
(60 rows)
|
||||
|
||||
SELECT PC_Summary(PC_Compress(PC_Patch(PC_MakePoint(10,ARRAY[1,1,1,1,1,1,1])),
|
||||
'dimensional'))::json->'compr';
|
||||
|
||||
@ -38,9 +38,41 @@ VALUES (5, 0,
|
||||
<Metadata name="compression">laz</Metadata>
|
||||
</pc:metadata>
|
||||
</pc:PointCloudSchema>'
|
||||
)
|
||||
,(10, 0, -- All (signed) interpretations, uncompressed
|
||||
'<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pc:PointCloudSchema xmlns:pc="http://pointcloud.org/schemas/PC/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<pc:dimension> <pc:position>1</pc:position> <pc:name>x</pc:name>
|
||||
<pc:size>1</pc:size> <pc:interpretation>int8_t</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>2</pc:position> <pc:name>y</pc:name>
|
||||
<pc:size>2</pc:size> <pc:interpretation>int8_t</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>3</pc:position> <pc:name>i2</pc:name>
|
||||
<pc:size>2</pc:size> <pc:interpretation>int16_t</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>4</pc:position> <pc:name>i4</pc:name>
|
||||
<pc:size>4</pc:size> <pc:interpretation>int32_t</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>5</pc:position> <pc:name>i8</pc:name>
|
||||
<pc:size>8</pc:size> <pc:interpretation>int64_t</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>6</pc:position> <pc:name>f4</pc:name>
|
||||
<pc:size>4</pc:size> <pc:interpretation>float</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
<pc:dimension> <pc:position>7</pc:position> <pc:name>f8</pc:name>
|
||||
<pc:size>8</pc:size> <pc:interpretation>double</pc:interpretation>
|
||||
<pc:scale>0.01</pc:scale>
|
||||
</pc:dimension>
|
||||
</pc:PointCloudSchema>'
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS pa_test_laz (
|
||||
id SERIAL,
|
||||
pa PCPATCH(5)
|
||||
@ -161,4 +193,37 @@ SELECT pc_astext(pc_explode(pa)) FROM pa_test_laz_multiple_dim LIMIT 20;
|
||||
|
||||
SELECT pc_astext(PC_PointN(pa, 2)) FROM pa_test_laz;
|
||||
|
||||
WITH points AS (
|
||||
SELECT ARRAY[
|
||||
(2^08/256.0*v)*0.01, -- int8_t
|
||||
-(2^08/256.0*v)*0.01, -- int8_t
|
||||
(2^16/256.0*v)*0.01, -- int16_t
|
||||
(2^32/256.0*v)*0.01, -- int32_t
|
||||
(2^64/256.0*v)*0.01, -- int64_t
|
||||
(2^32/256.0*v)*0.01, -- float
|
||||
(2^64/256.0*v)*0.01 -- double
|
||||
] a, v/16 v
|
||||
FROM generate_series(-127,127,4) v
|
||||
), p1 AS (
|
||||
SELECT v, PC_Patch(PC_MakePoint(10, a)) p from points -- uncompressed
|
||||
GROUP BY v
|
||||
)
|
||||
SELECT 'compr' test,
|
||||
p1.v, compr, sc,
|
||||
PC_AsText(p1.p) =
|
||||
PC_AsText(PC_Compress(p1.p, compr,
|
||||
array_to_string(
|
||||
array_fill(sc,ARRAY[7]),
|
||||
','
|
||||
)
|
||||
)) ok
|
||||
FROM p1, ( values
|
||||
('dimensional','rle'),
|
||||
('dimensional','zlib'),
|
||||
('dimensional','sigbits'),
|
||||
('dimensional','auto'),
|
||||
('laz', 'null')
|
||||
) dimcompr(compr,sc)
|
||||
ORDER BY compr,sc,v;
|
||||
|
||||
TRUNCATE pointcloud_formats;
|
||||
|
||||
@ -364,8 +364,7 @@ FROM p1, ( values
|
||||
('dimensional','rle'),
|
||||
('dimensional','zlib'),
|
||||
('dimensional','sigbits'),
|
||||
('dimensional','auto'),
|
||||
('laz','null')
|
||||
('dimensional','auto')
|
||||
) dimcompr(compr,sc)
|
||||
ORDER BY compr,sc,v;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user