Re: PostgreSQL C Language Extension with C++ Code

From: TalGloz <glozmantal(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: PostgreSQL C Language Extension with C++ Code
Date: 2018-08-12 18:09:02
Message-ID: 1534097342417-0.post@n3.nabble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

OK now I have this code:

1: extern "C" { // The C header should go here
2: #include <postgres.h>
3: #include <utils/rel.h>
4: #include <fmgr.h>
5: #include <utils/array.h>
6: #include <utils/builtins.h>
7: #include <catalog/pg_type.h>
8: #include <stdlib.h>
9: #include <stdint.h>
10:
11: PG_MODULE_MAGIC;
12: }
13:
14: // CPP header without extern "C"
15: #include <string>
16: #include <vector>
17: #include <iostream>
18: #include <fstream>
19: #include <seal/seal.h> // external compiled c++ library linked on
running 'make'
20:
21: Datum sum_of_numbers(PG_FUNCTION_ARGS);
22: PG_FUNCTION_INFO_V1(sum_of_numbers);
33:
34: extern "C" { // CPP function
35: int64_t sum_of_numbers(){
36: std::vector<int64_t> numbers {23, 445, 64};
37: auto sum = 0;
38: for (auto &item : numbers){
39: sum += item;
40: }
41: return sum;
42: }
43: }

The error this time for PostgreSQL is:
*ERROR: could not find function information for function "sum_of_numbers"
HINT: SQL-callable functions need an accompanying
PG_FUNCTION_INFO_V1(funcname).
SQL state: 42883*

Thanks,
Tal

--
Sent from: http://www.postgresql-archive.org/PostgreSQL-general-f1843780.html

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2018-08-12 18:26:48 Re: PostgreSQL C Language Extension with C++ Code
Previous Message Igor Korot 2018-08-12 17:29:58 Re: PostgreSQL C Language Extension with C++ Code