Creating unique or "internal-use-only" column names (ColumnRef)

From: Peter Moser <pitiz29a(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Creating unique or "internal-use-only" column names (ColumnRef)
Date: 2015-09-07 11:55:40
Message-ID: 55ED7B3C.9000404@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Good afternoon,
is it possible to create unique column names or to give column names
inside the parser phase that do not interfer with the outside world,
i.e. with column names from tables or aliases given by the user.

Some short background:
I created my own from-clause-item, that gets rewritten into a sub-query.
I do this because I want to re-use existing code as much as possible.
The rewritten sub-query gets transformed with "transformRangeSubselect"...
Within this sub-query I need 3 columns that shouldn't interfer with
columns from the input. We refer to them from a JOIN-ON clause and an
ORDER-BY clause.

Example code:

ColumnRef *ref;
ref = makeNode(ColumnRef);
ref->fields = list_make1(makeString("some_unique_name"));
ref->location = -1; /* Unknown location */

...

sb1 = makeNode(SortBy);
sb1->node = ref;

...

ssResult = makeNode(SelectStmt);
ssResult->withClause = NULL;
ssResult->fromClause = list_make1(joinExpr);
ssResult->targetList = list_make1(rtAStarWithR); /* input = r.* */
ssResult->sortClause = list_make2(sb1, sb2);

Is there a possibility for such column names?

Thanks for your help,
Peter

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Stark 2015-09-07 12:39:41 Re: [COMMITTERS] pgsql: Move DTK_ISODOW DTK_DOW and DTK_DOY to be type UNITS rather than
Previous Message Magnus Hagander 2015-09-07 11:45:17 Re: Fwd: [Snowball-discuss] New website