test_sballoc
authorRobert Haas <[email protected]>
Tue, 25 Mar 2014 00:19:26 +0000 (17:19 -0700)
committerRobert Haas <[email protected]>
Tue, 25 Mar 2014 00:19:26 +0000 (17:19 -0700)
contrib/test_sballoc/.test_sballoc--1.0.sql.swp [new file with mode: 0644]
contrib/test_sballoc/Makefile [new file with mode: 0644]
contrib/test_sballoc/test_sballoc--1.0.sql [new file with mode: 0644]
contrib/test_sballoc/test_sballoc.c [new file with mode: 0644]
contrib/test_sballoc/test_sballoc.control [new file with mode: 0644]

diff --git a/contrib/test_sballoc/.test_sballoc--1.0.sql.swp b/contrib/test_sballoc/.test_sballoc--1.0.sql.swp
new file mode 100644 (file)
index 0000000..2138481
Binary files /dev/null and b/contrib/test_sballoc/.test_sballoc--1.0.sql.swp differ
diff --git a/contrib/test_sballoc/Makefile b/contrib/test_sballoc/Makefile
new file mode 100644 (file)
index 0000000..880bccb
--- /dev/null
@@ -0,0 +1,17 @@
+# contrib/test_sballoc/Makefile
+
+MODULES = test_sballoc
+
+EXTENSION = test_sballoc
+DATA = test_sballoc--1.0.sql
+
+ifdef USE_PGXS
+PG_CONFIG = pg_config
+PGXS := $(shell $(PG_CONFIG) --pgxs)
+include $(PGXS)
+else
+subdir = contrib/test_sballoc
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
+include $(top_srcdir)/contrib/contrib-global.mk
+endif
diff --git a/contrib/test_sballoc/test_sballoc--1.0.sql b/contrib/test_sballoc/test_sballoc--1.0.sql
new file mode 100644 (file)
index 0000000..02ae003
--- /dev/null
@@ -0,0 +1,8 @@
+/* contrib/test_sballoc/test_sballoc--1.0.sql */
+
+-- complain if script is sourced in psql, rather than via CREATE EXTENSION
+\echo Use "CREATE EXTENSION test_sballoc" to load this file. \quit
+
+CREATE FUNCTION alloc(size pg_catalog.int8, count pg_catalog.int8)
+    RETURNS pg_catalog.void
+       AS 'MODULE_PATHNAME' LANGUAGE C STRICT;
diff --git a/contrib/test_sballoc/test_sballoc.c b/contrib/test_sballoc/test_sballoc.c
new file mode 100644 (file)
index 0000000..309bf23
--- /dev/null
@@ -0,0 +1,37 @@
+/*--------------------------------------------------------------------------
+ *
+ * test_sballoc.c
+ *             Test harness code for superblock allocator.
+ *
+ * Copyright (C) 2013, PostgreSQL Global Development Group
+ *
+ * IDENTIFICATION
+ *             contrib/test_sballoc/test_sballoc.c
+ *
+ * -------------------------------------------------------------------------
+ */
+
+#include "postgres.h"
+
+#include "fmgr.h"
+#include "utils/sb_alloc.h"
+
+PG_MODULE_MAGIC;
+PG_FUNCTION_INFO_V1(alloc);
+
+Datum          alloc(PG_FUNCTION_ARGS);
+
+Datum
+alloc(PG_FUNCTION_ARGS)
+{
+       int64 size = PG_GETARG_INT64(0);
+       int64 count = PG_GETARG_INT64(0);
+       int64 i;
+       sb_allocator *a;
+
+       a = sb_create_private_allocator();
+       for (i = 0; i < count; ++i)
+               (void) sb_alloc(a, size, 0);
+
+       PG_RETURN_VOID();
+}
diff --git a/contrib/test_sballoc/test_sballoc.control b/contrib/test_sballoc/test_sballoc.control
new file mode 100644 (file)
index 0000000..58f61c0
--- /dev/null
@@ -0,0 +1,4 @@
+comment = 'Test code for shared memory message queues'
+default_version = '1.0'
+module_pathname = '$libdir/test_sballoc'
+relocatable = true