Re: CREATE TABLE LIKE INCLUDING INDEXES support

From: NikhilS <nikkhils(at)gmail(dot)com>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: "Bruce Momjian" <bruce(at)momjian(dot)us>, "Neil Conway" <neilc(at)samurai(dot)com>, "Trevor Hardcastle" <chizu(at)spicious(dot)com>, pgsql-patches(at)postgresql(dot)org
Subject: Re: CREATE TABLE LIKE INCLUDING INDEXES support
Date: 2007-05-23 06:53:21
Message-ID: d3c4af540705222353s7e1a7f28r262d63b038aa629a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Hi,

> The index creation happens after the new table (which is LIKE the parent)
> has been created, by appending the cxt.alist information to
> "extras_after". The entry point for the index creation is thus via
> ProcessUtility which expects an IndexStmt structure. That is why the current
> patch does all the Oid to name mapping exercise to populate the relevant
> fields in IndexStmt some of which are char pointers. The internal
> DefineIndex function also expects most of the fields to be in IndexStmt like
> format.
>
> If we want to follow the above suggestion, as I understand it, we might
> have to devise a new structure to contain Oids and make ProcessUtility
> accept a new nodeTag. We will also not be able to use existing Index
> definition functions and this will lead to more coding IMHO. Do we want to
> go down this path? Or is there something else that has been suggested above
> and that I am missing completely?

OTOH, we can populate a new structure with the relevant Oids, IndexInfo
information from parent relation indexes and call index_create directly
from within ProcessUtility. Guess, it should be cleaner than the current
approach.

Regards,
Nikhils
--
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hannes Eder 2007-05-23 07:59:06 msvc, build and install with cygwin in the PATH
Previous Message NikhilS 2007-05-23 06:15:41 Re: CREATE TABLE LIKE INCLUDING INDEXES support

Browse pgsql-patches by date

  From Date Subject
Next Message Hannes Eder 2007-05-23 07:59:06 msvc, build and install with cygwin in the PATH
Previous Message NikhilS 2007-05-23 06:15:41 Re: CREATE TABLE LIKE INCLUDING INDEXES support