Hi Julien,

Sorry for the late reply. I was able to solve the issue. It had to do with
the extra syntax I had introduced in gram.y. However, since you mentioned
the utility command, can you elaborate a bit more on that?

Thanks,
Patrick

On Tue, Apr 14, 2020 at 5:00 AM Julien Rouhaud <rjuju...@gmail.com> wrote:

> Hello,
>
> On Mon, Apr 13, 2020 at 4:04 PM Patrick REED <patrickreed...@gmail.com>
> wrote:
> >
> > I am experimenting with postgres and am wondering if there is any
> tutorial on how to properly add a new command to postgres.
> >
> > I want to add a new constraint on "CREATE ROLE" that requires an
> integer, it has an identifier that is not a known (reserved or unreserved
> keyword) in postgres, say we call it TestPatrick. In other words, I want to
> do this "CREATE ROLE X TestPatrick=10". I am having an issue with having
> postgres recognize my new syntax.
> >
> > I have seen this video: https://www.youtube.com/watch?v=uSEXTcEiXGQ and
> was able to add have my postgres compile with my added word (modified
> gram.y, kwlist.h, gram.cpp etc based on the video). However, when I use my
> syntax on a client session, it still doesn't recognize my syntax... Are
> there any specific lexer changes I need to make? I followed the example of
> CONNECTION LIMIT and tried to mimic it for Create ROLE.
>
> I'd think that if you can get a successful compilation with a modified
> gram.y (and any kwlist change needed) the new syntax should be
> accepted (at least up to the parser, whether the utility command is
> properly handled is another thing), since there's a single version of
> the CreateRoleStmt.  Is there any chance that you're somehow
> connecting to something else than the freshly make-install-ed binary,
> or that the error is coming from later stage than parsing?
>

Reply via email to