Re: Table AM modifications to accept column projection lists

Поиск
Список
Период
Сортировка
От Zhihong Yu
Тема Re: Table AM modifications to accept column projection lists
Дата
Msg-id CALNJ-vQcJUu9qWECNDLd6an+K_Uhc2GJXDCSf5ejMv04=2ScJg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Table AM modifications to accept column projection lists  (Jacob Champion <pchampion@vmware.com>)
Ответы Re: Table AM modifications to accept column projection lists  (Jacob Champion <pchampion@vmware.com>)
Список pgsql-hackers


On Fri, Jun 4, 2021 at 4:14 PM Jacob Champion <pchampion@vmware.com> wrote:
On Tue, 2021-06-01 at 15:38 +0300, Aleksander Alekseev wrote:
> I came across this patch and noticed that it rotted a little,
> especially after removing inheritance_planner() in 86dc9005. I
> managed to resolve the conflicts on current `master` (eb89cb43), see
> the attached patch. The code compiles but doesn't pass the tests. I'm
> currently in the process of reviewing it and didn't figure out what
> the issue is yet. Just wanted to let you know.

Hi Alexsander, thanks!

In your patch's transformInsertStmt(), I see what I think is an
extraneous call to transformReturningList() right before the ON
CONFLICT processing. That call is already done later in the function,
during the RETURNING processing (this change came in with 6c0373ab77).
Other than that, your rebased patch looks the same as mine.

>  I also believe changing the patch status to "Waiting on Author"
> would be appropriate.

Agreed. I'm going to double-check with Deep that the new calls
to table_tuple_fetch_row_version() should be projecting the full row,
then post an updated patch some time next week.

Thanks again!
--Jacob
Hi,

+       return relation->rd_tableam->scan_begin_with_column_projection(relation, snapshot, 0, NULL,
+                                           parallel_scan, flags, proj);

scan_begin_with_column_projection() adds a parameter to scan_begin().
Can scan_begin() be enhanced with this projection parameter ?
Otherwise in the future we may have scan_begin_with_column_projection_with_x_y ...

+   /* Make sure the the new slot is not dependent on the original tuple */

Double 'the' in the comment. More than one place with duplicate 'the' in the patch.

+typedef struct neededColumnContext
+{
+   Bitmapset **mask;
+   int n;

Should field n be named ncol ? 'n' seems too general.

+        * TODO: Remove this hack!! This should be done once at the start of the tid scan.

Would the above be addressed in the next patch ?

Toward the end of extract_scan_columns():

+                       bms_free(rte->scanCols);
+                       rte->scanCols = bms_make_singleton(0);
+                       break;

Should 'goto outer;' be in place of 'break;' (since rte->scanCols has been assigned for whole-row) ?

Cheers

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Fabien COELHO
Дата:
Сообщение: Re: Failures with gcd functions with GCC snapshots GCC and -O3 (?)
Следующее
От: Noah Misch
Дата:
Сообщение: Re: A new function to wait for the backend exit after termination