]> Untitled Git - articles.git/commitdiff
Презентация про типы регистровые данных постгреса
authorNikolay Shaplov <dhyan@nataraj.su>
Mon, 18 Aug 2025 14:36:30 +0000 (17:36 +0300)
committerNikolay Shaplov <dhyan@nataraj.su>
Mon, 18 Aug 2025 14:36:30 +0000 (17:36 +0300)
slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/basic_structures-2025.odp [new file with mode: 0644]
slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/Makefile
slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples--0.0.1.sql
slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples.o
slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/data_types_examples.so
slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/hello_world.c [new file with mode: 0644]
slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/my_factorial.o
slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/data_types_examples/warn_me.o
slides/2025 - Becoming PosgtreSQL Developer. 2. Basic Structures: Register Data Types/src/log.md
slides/2025 - Creating own extension/2025-08 - Создание Ñ\81обÑ\81Ñ\82венного Ñ\80аÑ\81Ñ\88иÑ\80ениÑ\8f, ЭлиÑ\81Ñ\82а/Создание Ñ\81обÑ\81Ñ\82венного Ñ\80аÑ\81Ñ\88иÑ\80ениÑ\8f-2025.odp

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 (file)
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
index f3bc8f7f7acb09aa5cee973229b0a54ddc9ff01f..6ccf9843a0b154569ebaa6d1fbc92e3d7b39c886 100644 (file)
@@ -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
index bbd5d5567b7861d9744dd34451c01a92720591b7..e6e370ade40f5ac6f46732158108134c11f82047 100644 (file)
@@ -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;
+
index adbe7440b302d80af3c111115d3e042a9d5a39b5..a4af346b031e75c069a94334602f3ebe3adc6a4d 100644 (file)
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
index 0ff06840b678f401016835b006313dceaf492d35..b662e47bf0cec052fc86df76554a6954bd913be6 100755 (executable)
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 (file)
index 0000000..34e079f
--- /dev/null
@@ -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);
+}
+
index e0852f046b03ea5c6193b515b9fedecd8158faf0..be0e293a581e3ca2fb4dc9b6cedd7c2c895a484d 100644 (file)
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
index 3a1d04cc42916a0051482abb2c195118e7565354..b23b5d9b43259310283e8b96d69f100dbbd5f940 100644 (file)
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
index f32f1bdd1de194ee4b78f322c5311a58ad5b8491..c07b8764324c54fc90205d2a343b4489d145026a 100644 (file)
@@ -30,6 +30,8 @@ typedef uint64_t uint64;
 
 ## Волшебные макросы pg-функций
 
+"С-Программист, помни! Макрос -- твой лучший друг!"
+
 Создание расширения начинается с вызова макроса
 
 ```
index 041ffd7c5a8ad88e40a4bf8c1e3eced912c28ff0..58133f24b4becf3a1e232aefc1eddb186abbda99 100644 (file)
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