From 22dfd116a127a2fc916a4fdac282ee69d4905a25 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Sat, 29 Nov 2014 23:55:00 -0300 Subject: Move test modules from contrib to src/test/modules This is advance preparation for introducing even more test modules; the easy solution is to add them to contrib, but that's bloated enough that it seems a good time to think of something different. Moved modules are dummy_seclabel, test_shm_mq, test_parser and worker_spi. (test_decoding was also a candidate, but there was too much opposition to moving that one. We can always reconsider later.) --- doc/src/sgml/contrib.sgml | 3 -- doc/src/sgml/dummy-seclabel.sgml | 74 ----------------------------- doc/src/sgml/ref/security_label.sgml | 2 +- doc/src/sgml/release-9.1.sgml | 2 +- doc/src/sgml/release-9.4.sgml | 2 +- doc/src/sgml/test-parser.sgml | 90 ------------------------------------ doc/src/sgml/test-shm-mq.sgml | 71 ---------------------------- 7 files changed, 3 insertions(+), 241 deletions(-) delete mode 100644 doc/src/sgml/dummy-seclabel.sgml delete mode 100644 doc/src/sgml/test-parser.sgml delete mode 100644 doc/src/sgml/test-shm-mq.sgml (limited to 'doc/src') diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml index ec68f10b65c..a698d0fb2f8 100644 --- a/doc/src/sgml/contrib.sgml +++ b/doc/src/sgml/contrib.sgml @@ -113,7 +113,6 @@ CREATE EXTENSION module_name FROM unpackaged; &dblink; &dict-int; &dict-xsyn; - &dummy-seclabel; &earthdistance; &file-fdw; &fuzzystrmatch; @@ -141,8 +140,6 @@ CREATE EXTENSION module_name FROM unpackaged; &tablefunc; &tcn; &test-decoding; - &test-parser; - &test-shm-mq; &tsearch2; &unaccent; &uuid-ossp; diff --git a/doc/src/sgml/dummy-seclabel.sgml b/doc/src/sgml/dummy-seclabel.sgml deleted file mode 100644 index d064705f2ae..00000000000 --- a/doc/src/sgml/dummy-seclabel.sgml +++ /dev/null @@ -1,74 +0,0 @@ - - - - dummy_seclabel - - - dummy_seclabel - - - - The dummy_seclabel module exists only to support regression - testing of the SECURITY LABEL statement. It is not intended - to be used in production. - - - - Rationale - - - The SECURITY LABEL statement allows the user to assign security - labels to database objects; however, security labels can only be assigned - when specifically allowed by a loadable module, so this module is provided - to allow proper regression testing. - - - - Security label providers intended to be used in production will typically be - dependent on a platform-specific feature such as - SE-Linux. This module is platform-independent, - and therefore better-suited to regression testing. - - - - - Usage - - - Here's a simple example of usage: - - - -# postgresql.conf -shared_preload_libraries = 'dummy_seclabel' - - - -postgres=# CREATE TABLE t (a int, b text); -CREATE TABLE -postgres=# SECURITY LABEL ON TABLE t IS 'classified'; -SECURITY LABEL - - - - The dummy_seclabel module provides only four hardcoded - labels: unclassified, classified, - secret, and top secret. - It does not allow any other strings as security labels. - - - These labels are not used to enforce access controls. They are only used - to check whether the SECURITY LABEL statement works as expected, - or not. - - - - - Author - - - KaiGai Kohei kaigai@ak.jp.nec.com - - - - diff --git a/doc/src/sgml/ref/security_label.sgml b/doc/src/sgml/ref/security_label.sgml index 6e2bd25240b..998fe3b7c03 100644 --- a/doc/src/sgml/ref/security_label.sgml +++ b/doc/src/sgml/ref/security_label.sgml @@ -207,7 +207,7 @@ SECURITY LABEL FOR selinux ON TABLE mytable IS 'system_u:object_r:sepgsql_table_ See Also - + src/test/modules/dummy_seclabel diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index 4f86b64e846..79a8b078bcf 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -8062,7 +8062,7 @@ SELECT * FROM places ORDER BY location <-> point '(101,456)' LIMIT 10; - Add dummy_seclabel + Add dummy_seclabel contrib module (KaiGai Kohei) diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml index 9bbf9530438..b2bcecd6e6b 100644 --- a/doc/src/sgml/release-9.4.sgml +++ b/doc/src/sgml/release-9.4.sgml @@ -503,7 +503,7 @@ - This feature is illustrated in . + This feature is illustrated in contrib/test_shm_mq. diff --git a/doc/src/sgml/test-parser.sgml b/doc/src/sgml/test-parser.sgml deleted file mode 100644 index 28b1e91c584..00000000000 --- a/doc/src/sgml/test-parser.sgml +++ /dev/null @@ -1,90 +0,0 @@ - - - - test_parser - - - test_parser - - - - test_parser is an example of a custom parser for full-text - search. It doesn't do anything especially useful, but can serve as - a starting point for developing your own parser. - - - - test_parser recognizes words separated by white space, - and returns just two token types: - - -mydb=# SELECT * FROM ts_token_type('testparser'); - tokid | alias | description --------+-------+--------------- - 3 | word | Word - 12 | blank | Space symbols -(2 rows) - - - These token numbers have been chosen to be compatible with the default - parser's numbering. This allows us to use its headline() - function, thus keeping the example simple. - - - - Usage - - - Installing the test_parser extension creates a text search - parser testparser. It has no user-configurable parameters. - - - - You can test the parser with, for example, - - -mydb=# SELECT * FROM ts_parse('testparser', 'That''s my first own parser'); - tokid | token --------+-------- - 3 | That's - 12 | - 3 | my - 12 | - 3 | first - 12 | - 3 | own - 12 | - 3 | parser - - - - - Real-world use requires setting up a text search configuration - that uses the parser. For example, - - -mydb=# CREATE TEXT SEARCH CONFIGURATION testcfg ( PARSER = testparser ); -CREATE TEXT SEARCH CONFIGURATION - -mydb=# ALTER TEXT SEARCH CONFIGURATION testcfg -mydb-# ADD MAPPING FOR word WITH english_stem; -ALTER TEXT SEARCH CONFIGURATION - -mydb=# SELECT to_tsvector('testcfg', 'That''s my first own parser'); - to_tsvector -------------------------------- - 'that':1 'first':3 'parser':5 -(1 row) - -mydb=# SELECT ts_headline('testcfg', 'Supernovae stars are the brightest phenomena in galaxies', -mydb(# to_tsquery('testcfg', 'star')); - ts_headline ------------------------------------------------------------------ - Supernovae <b>stars</b> are the brightest phenomena in galaxies -(1 row) - - - - - - diff --git a/doc/src/sgml/test-shm-mq.sgml b/doc/src/sgml/test-shm-mq.sgml deleted file mode 100644 index dd431d0a2e4..00000000000 --- a/doc/src/sgml/test-shm-mq.sgml +++ /dev/null @@ -1,71 +0,0 @@ - - - - test_shm_mq - - - test_shm_mq - - - - test_shm_mq is an example of how to use dynamic shared memory - and the shared memory message queue facilities to coordinate a user backend - with the efforts of one or more background workers. It is not intended to - do anything useful on its own; rather, it is a demonstration of how these - facilities can be used, and a unit test of those facilities. - - - - The function is this extension send the same message repeatedly through - a loop of processes. The message payload, the size of the message queue - through which it is sent, and the number of processes in the loop are - configurable. At the end, the message may be verified to ensure that it - has not been corrupted in transmission. - - - - Functions - - -test_shm_mq(queue_size int8, message text, - repeat_count int4 default 1, num_workers int4 default 1) - RETURNS void - - - - This function sends and receives messages synchronously. The user - backend sends the provided message to the first background worker using - a message queue of the given size. The first background worker sends - the message to the second background worker, if the number of workers - is greater than one, and so forth. Eventually, the last background - worker sends the message back to the user backend. If the repeat count - is greater than one, the user backend then sends the message back to - the first worker. Once the message has been sent and received by all - the coordinating processes a number of times equal to the repeat count, - the user backend verifies that the message finally received matches the - one originally sent and throws an error if not. - - - -test_shm_mq_pipelined(queue_size int8, message text, - repeat_count int4 default 1, num_workers int4 default 1, - verify bool default true) - RETURNS void - - - - This function sends the same message multiple times, as specified by the - repeat count, to the first background worker using a queue of the given - size. These messages are then forwarded to each background worker in - turn, in each case using a queue of the given size. Finally, the last - background worker sends the messages back to the user backend. The user - backend uses non-blocking sends and receives, so that it may begin receiving - copies of the message before it has finished sending all copies of the - message. The verify argument controls whether or not the - received copies are checked against the message that was sent. (This - takes nontrivial time so it may be useful to disable it for benchmarking - purposes.) - - - - -- cgit v1.2.3