On 27.08.21 12:37, Vik Fearing wrote:
> It seems like this should error to me:
>
> CREATE ACCESS METHOD heapdup TYPE TABLE HANDLER heap_tableam_handler;
> CREATE TABLE likeam1() USING heap;
> CREATE TABLE likeam2() USING heapdup;
> CREATE TABLE likeamlike(
> LIKE likeam1 INCLUDING ACCESS METHOD,
> LIKE likeam2 INCLUDING ACCESS METHOD
> );
>
> At the very least, the documentation should say that the last one wins.
Hmm. The problem is that the LIKE clause is really a macro that expands
to the column definitions of the other table. So there is, so far, no
such as thing as two LIKE clauses contradicting. Whereas the access
method is a table property. So I don't think this syntax is the right
approach for this feature.
You might think about something like
CREATE TABLE t2 (...) USING (LIKE t1);
At least in terms of how the syntax should be structured.