| 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: | Whole Thread | Raw Message | 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
| 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 |