Re: poc - possibility to write window function in PL languages - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: poc - possibility to write window function in PL languages
Date
Msg-id CAFj8pRCJQz0of++_gvz20iTUCaz6x8bmbJ5g6Z=U-Zq0W8+mEA@mail.gmail.com
Whole thread Raw
In response to Re: poc - possibility to write window function in PL languages  (Zhihong Yu <zyu@yugabyte.com>)
Responses Re: poc - possibility to write window function in PL languages
Re: poc - possibility to write window function in PL languages
List pgsql-hackers
Hi

pá 1. 1. 2021 v 18:57 odesílatel Zhihong Yu <zyu@yugabyte.com> napsal:
Hi, Pavel:
Happy New Year.

+   command with clause <literal>WINDOW</literal>. The specific feature of
+   this functions is a possibility to two special storages with

this functions -> this function

possibility to two special storages: there is no verb.

'store with stored one value': store is repeated.

+ * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group

It would be better to change 2020 to 2021 in the new files.

fixed

For some functions, such as windowobject_get_func_arg_frame, it would be better to add comment explaining their purposes.

It is commented before. These functions just call WinAPI functions

/*
 * High level access function. These functions are wrappers for windows API
 * for PL languages based on usage WindowObjectProxy.
 */



For estimate_partition_context_size():
+                    errmsg("size of value is greather than limit (1024 bytes)")));

Please include the value of typlen in the message. There is similar error message in the else block where value of size should be included.

+       return *realsize;
+   }
+   else

The 'else' is not needed since the if block ends with return.

yes, but it is there for better readability (symmetry) 

+           size += size / 3;

Please add a comment for the choice of constant 3.

+           /* by default we allocate 30 bytes */
+           *realsize = 0;

The value 30 may not be accurate - from the caller:

+   if (PG_ARGISNULL(2))
+       minsize = VARLENA_MINSIZE;
+   else
+       minsize = PG_GETARG_INT32(2);

VARLENA_MINSIZE is 32.

Cheers

On Fri, Jan 1, 2021 at 3:29 AM Pavel Stehule <pavel.stehule@gmail.com> wrote:
Hi

rebase

Regards

Pavel

I am sending updated patch

Thank you for comments

Regards

Pavel
Attachment

pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: {CREATE INDEX, REINDEX} CONCURRENTLY improvements
Next
From: "Hou, Zhijie"
Date:
Subject: RE: Parallel Inserts in CREATE TABLE AS