Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit56e121a

Browse files
contrib/tsm_system_time
1 parent4d40494 commit56e121a

File tree

7 files changed

+453
-0
lines changed

7 files changed

+453
-0
lines changed

‎contrib/tsm_system_time/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Generated subdirectories
2+
/log/
3+
/results/
4+
/tmp_check/

‎contrib/tsm_system_time/Makefile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# src/test/modules/tsm_system_time/Makefile
2+
3+
MODULE_big = tsm_system_time
4+
OBJS = tsm_system_time.o$(WIN32RES)
5+
PGFILEDESC = "tsm_system_time - SYSTEM TABLESAMPLE method which accepts number rows of as a limit"
6+
7+
EXTENSION = tsm_system_time
8+
DATA = tsm_system_time--1.0.sql
9+
10+
REGRESS = tsm_system_time
11+
12+
ifdefUSE_PGXS
13+
PG_CONFIG = pg_config
14+
PGXS :=$(shell$(PG_CONFIG) --pgxs)
15+
include$(PGXS)
16+
else
17+
subdir = contrib/tsm_system_time
18+
top_builddir = ../..
19+
include$(top_builddir)/src/Makefile.global
20+
include$(top_srcdir)/contrib/contrib-global.mk
21+
endif
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
CREATE EXTENSION tsm_system_time;
2+
CREATE TABLE test_tablesample (id int, name text) WITH (fillfactor=10); -- force smaller pages so we don't have to load too much data to get multiple pages
3+
INSERT INTO test_tablesample SELECT i, repeat(i::text, 1000) FROM generate_series(0, 30) s(i) ORDER BY i;
4+
ANALYZE test_tablesample;
5+
SELECT count(*) FROM test_tablesample TABLESAMPLE system_time (1000);
6+
count
7+
-------
8+
31
9+
(1 row)
10+
11+
SELECT id FROM test_tablesample TABLESAMPLE system_time (1000) REPEATABLE (5432);
12+
id
13+
----
14+
7
15+
14
16+
21
17+
28
18+
4
19+
11
20+
18
21+
25
22+
1
23+
8
24+
15
25+
22
26+
29
27+
5
28+
12
29+
19
30+
26
31+
2
32+
9
33+
16
34+
23
35+
30
36+
6
37+
13
38+
20
39+
27
40+
3
41+
10
42+
17
43+
24
44+
0
45+
(31 rows)
46+
47+
EXPLAIN SELECT id FROM test_tablesample TABLESAMPLE system_time (100) REPEATABLE (10);
48+
QUERY PLAN
49+
------------------------------------------------------------------------------------
50+
Sample Scan (system_time) on test_tablesample (cost=0.00..100.25 rows=25 width=4)
51+
(1 row)
52+
53+
-- done
54+
DROP TABLE test_tablesample CASCADE;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
CREATE EXTENSION tsm_system_time;
2+
3+
CREATETABLEtest_tablesample (idint, nametext) WITH (fillfactor=10);-- force smaller pages so we don't have to load too much data to get multiple pages
4+
5+
INSERT INTO test_tablesampleSELECT i, repeat(i::text,1000)FROM generate_series(0,30) s(i)ORDER BY i;
6+
ANALYZE test_tablesample;
7+
8+
SELECTcount(*)FROM test_tablesample TABLESAMPLE system_time (1000);
9+
SELECT idFROM test_tablesample TABLESAMPLE system_time (1000) REPEATABLE (5432);
10+
11+
EXPLAINSELECT idFROM test_tablesample TABLESAMPLE system_time (100) REPEATABLE (10);
12+
13+
-- done
14+
DROPTABLE test_tablesample CASCADE;
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/* src/test/modules/tablesample/tsm_system_time--1.0.sql*/
2+
3+
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
4+
\echo Use"CREATE EXTENSION tsm_system_time" to load this file. \quit
5+
6+
CREATEFUNCTIONtsm_system_time_init(internal, int4, int4)
7+
RETURNS void
8+
AS'MODULE_PATHNAME'
9+
LANGUAGE C STRICT;
10+
11+
CREATEFUNCTIONtsm_system_time_nextblock(internal)
12+
RETURNS int4
13+
AS'MODULE_PATHNAME'
14+
LANGUAGE C STRICT;
15+
16+
CREATEFUNCTIONtsm_system_time_nexttuple(internal, int4, int2)
17+
RETURNS int2
18+
AS'MODULE_PATHNAME'
19+
LANGUAGE C STRICT;
20+
21+
CREATEFUNCTIONtsm_system_time_end(internal)
22+
RETURNS void
23+
AS'MODULE_PATHNAME'
24+
LANGUAGE C STRICT;
25+
26+
CREATEFUNCTIONtsm_system_time_reset(internal)
27+
RETURNS void
28+
AS'MODULE_PATHNAME'
29+
LANGUAGE C STRICT;
30+
31+
CREATEFUNCTIONtsm_system_time_cost(internal, internal, internal, internal, internal, internal, internal)
32+
RETURNS void
33+
AS'MODULE_PATHNAME'
34+
LANGUAGE C STRICT;
35+
36+
INSERT INTO pg_tablesample_methodVALUES('system_time', false, true,
37+
'tsm_system_time_init','tsm_system_time_nextblock',
38+
'tsm_system_time_nexttuple','-','tsm_system_time_end',
39+
'tsm_system_time_reset','tsm_system_time_cost');
40+

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp