From 293913568e6a7a86fd1479e1cff8e2ecb58d6568 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 15:44:03 +0200 Subject: Adding upstream version 16.2. Signed-off-by: Daniel Baumann --- doc/src/sgml/html/ecpg-process.html | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 doc/src/sgml/html/ecpg-process.html (limited to 'doc/src/sgml/html/ecpg-process.html') diff --git a/doc/src/sgml/html/ecpg-process.html b/doc/src/sgml/html/ecpg-process.html new file mode 100644 index 0000000..60b6492 --- /dev/null +++ b/doc/src/sgml/html/ecpg-process.html @@ -0,0 +1,68 @@ + +36.10. Processing Embedded SQL Programs

36.10. Processing Embedded SQL Programs #

+ Now that you have an idea how to form embedded SQL C programs, you + probably want to know how to compile them. Before compiling you + run the file through the embedded SQL + C preprocessor, which converts the + SQL statements you used to special function + calls. After compiling, you must link with a special library that + contains the needed functions. These functions fetch information + from the arguments, perform the SQL command using + the libpq interface, and put the result + in the arguments specified for output. +

+ The preprocessor program is called ecpg and is + included in a normal PostgreSQL installation. + Embedded SQL programs are typically named with an extension + .pgc. If you have a program file called + prog1.pgc, you can preprocess it by simply + calling: +

+ecpg prog1.pgc
+

+ This will create a file called prog1.c. If + your input files do not follow the suggested naming pattern, you + can specify the output file explicitly using the + -o option. +

+ The preprocessed file can be compiled normally, for example: +

+cc -c prog1.c
+

+ The generated C source files include header files from the + PostgreSQL installation, so if you installed + PostgreSQL in a location that is not searched by + default, you have to add an option such as + -I/usr/local/pgsql/include to the compilation + command line. +

+ To link an embedded SQL program, you need to include the + libecpg library, like so: +

+cc -o myprog prog1.o prog2.o ... -lecpg
+

+ Again, you might have to add an option like + -L/usr/local/pgsql/lib to that command line. +

+ You can + use pg_config + or pkg-config with package name libecpg to + get the paths for your installation. +

+ If you manage the build process of a larger project using + make, it might be convenient to include + the following implicit rule to your makefiles: +

+ECPG = ecpg
+
+%.c: %.pgc
+        $(ECPG) $<
+

+

+ The complete syntax of the ecpg command is + detailed in ecpg. +

+ The ecpg library is thread-safe by + default. However, you might need to use some threading + command-line options to compile your client code. +

\ No newline at end of file -- cgit v1.2.3