From: Nikolay Shaplov Date: Mon, 18 Aug 2025 14:36:30 +0000 (+0300) Subject: Презентация про типы регистровые данных постгреса X-Git-Url: http://gitweb.nataraj.world/?a=commitdiff_plain;h=4bb6a59abe116413aa98de340a40122c260a26a0;p=articles.git Презентация про типы регистровые данных постгреса --- diff --git a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/basic_structures-2025.odp b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/basic_structures-2025.odp new file mode 100644 index 0000000..256f122 Binary files /dev/null and b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/basic_structures-2025.odp differ diff --git a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/Makefile b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/Makefile index f3bc8f7..6ccf984 100644 --- a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/Makefile +++ b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/Makefile @@ -3,7 +3,7 @@ EXTENSION = data_types_examples # Name of the extension DATA = data_types_examples--0.0.1.sql # REGRESS = my_first_extension-main-test -OBJS = data_types_examples.o warn_me.o my_factorial.o +OBJS = data_types_examples.o warn_me.o my_factorial.o hello_world.o PG_CONFIG ?= pg_config # Path to the pg_config executable diff --git a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples--0.0.1.sql b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples--0.0.1.sql index bbd5d55..e6e370a 100644 --- a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples--0.0.1.sql +++ b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples--0.0.1.sql @@ -1,8 +1,4 @@ -CREATE FUNCTION my_inc() -RETURNS INT -AS 'MODULE_PATHNAME', 'my_inc' -LANGUAGE C; CREATE FUNCTION warn_me(int) RETURNS int AS 'MODULE_PATHNAME', 'warn_me' @@ -13,3 +9,9 @@ CREATE FUNCTION my_factorial(int) RETURNS int AS 'MODULE_PATHNAME', 'my_factorial' LANGUAGE C; + +CREATE FUNCTION hello_world() +RETURNS TEXT +AS 'MODULE_PATHNAME', 'hello_world' +LANGUAGE C; + diff --git a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples.o b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples.o index adbe744..a4af346 100644 Binary files a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples.o and b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples.o differ diff --git a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples.so b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples.so index 0ff0684..b662e47 100755 Binary files a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples.so and b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples.so differ diff --git a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/hello_world.c b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/hello_world.c new file mode 100644 index 0000000..34e079f --- /dev/null +++ b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/hello_world.c @@ -0,0 +1,17 @@ +#include "postgres.h" +#include "fmgr.h" +#include "utils/builtins.h" + +PG_FUNCTION_INFO_V1(hello_world); + +Datum +hello_world(PG_FUNCTION_ARGS) +{ + char message[] = "Hello, World!"; + Datum datum; + + datum = CStringGetTextDatum(message); + + PG_RETURN_TEXT_P(datum); +} + diff --git a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/my_factorial.o b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/my_factorial.o index e0852f0..be0e293 100644 Binary files a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/my_factorial.o and b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/my_factorial.o differ diff --git a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/warn_me.o b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/warn_me.o index 3a1d04c..b23b5d9 100644 Binary files a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/warn_me.o and b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/warn_me.o differ diff --git a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/log.md b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/log.md index f32f1bd..c07b876 100644 --- a/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/log.md +++ b/slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/log.md @@ -30,6 +30,8 @@ typedef uint64_t uint64; ## Волшебные макросы pg-функций +"С-Программист, помни! Макрос -- твой лучший друг!" + Создание расширения начинается с вызова макроса ``` diff --git "a/slides/2025 - Creating own extension/2025-08 - \320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265 \321\201\320\276\320\261\321\201\321\202\320\262\320\265\320\275\320\275\320\276\320\263\320\276 \321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217, \320\255\320\273\320\270\321\201\321\202\320\260/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265 \321\201\320\276\320\261\321\201\321\202\320\262\320\265\320\275\320\275\320\276\320\263\320\276 \321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217-2025.odp" "b/slides/2025 - Creating own extension/2025-08 - \320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265 \321\201\320\276\320\261\321\201\321\202\320\262\320\265\320\275\320\275\320\276\320\263\320\276 \321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217, \320\255\320\273\320\270\321\201\321\202\320\260/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265 \321\201\320\276\320\261\321\201\321\202\320\262\320\265\320\275\320\275\320\276\320\263\320\276 \321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217-2025.odp" index 041ffd7..58133f2 100644 Binary files "a/slides/2025 - Creating own extension/2025-08 - \320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265 \321\201\320\276\320\261\321\201\321\202\320\262\320\265\320\275\320\275\320\276\320\263\320\276 \321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217, \320\255\320\273\320\270\321\201\321\202\320\260/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265 \321\201\320\276\320\261\321\201\321\202\320\262\320\265\320\275\320\275\320\276\320\263\320\276 \321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217-2025.odp" and "b/slides/2025 - Creating own extension/2025-08 - \320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265 \321\201\320\276\320\261\321\201\321\202\320\262\320\265\320\275\320\275\320\276\320\263\320\276 \321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217, \320\255\320\273\320\270\321\201\321\202\320\260/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265 \321\201\320\276\320\261\321\201\321\202\320\262\320\265\320\275\320\275\320\276\320\263\320\276 \321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217-2025.odp" differ