]> granicus.if.org Git - postgresql/blob - src/backend/access/tablesample/tablesample.c
Update copyright via script for 2017
[postgresql] / src / backend / access / tablesample / tablesample.c
1 /*-------------------------------------------------------------------------
2  *
3  * tablesample.c
4  *                Support functions for TABLESAMPLE feature
5  *
6  * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
7  * Portions Copyright (c) 1994, Regents of the University of California
8  *
9  *
10  * IDENTIFICATION
11  *                src/backend/access/tablesample/tablesample.c
12  *
13  * -------------------------------------------------------------------------
14  */
15
16 #include "postgres.h"
17
18 #include "access/tsmapi.h"
19
20
21 /*
22  * GetTsmRoutine --- get a TsmRoutine struct by invoking the handler.
23  *
24  * This is a convenience routine that's just meant to check for errors.
25  */
26 TsmRoutine *
27 GetTsmRoutine(Oid tsmhandler)
28 {
29         Datum           datum;
30         TsmRoutine *routine;
31
32         datum = OidFunctionCall1(tsmhandler, PointerGetDatum(NULL));
33         routine = (TsmRoutine *) DatumGetPointer(datum);
34
35         if (routine == NULL || !IsA(routine, TsmRoutine))
36                 elog(ERROR, "tablesample handler function %u did not return a TsmRoutine struct",
37                          tsmhandler);
38
39         return routine;
40 }