My function TestLtree() is being executed in the PGAdmin debugger. The
debugger requires I define the argument being passed, I set this to 'a.b.c'
and I have confirmed in the debugger that this is indeed what is passed into
the function.
I do not understand what you mean by "You haven't shown us what you are
doing on that end". I am only using the debugger to test a simple function
- nothing more.
As mentioned before, the code runs without problems in both PSQL and in
PGAdmin4 - it only fails when executed in the debugger.
BTW, I'm running PostgreSQL 10.3, compiled by Visual C++ build 1800, 64-bit
under Windows 10.
Thank,
Ian
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: 26 April, 2018 18:18
To: ib@ianbellsoftware.com
Cc: 'Adrian Klaver' <adrian.klaver@aklaver.com>;
pgsql-general@lists.postgresql.org
Subject: Re: PGAdmin4 debugger - unable to call ltree functions
"Ian Bell" <ib@ianbellsoftware.com> writes:
> I just tried your suggestion and it generates the same error. For
> verification, here is the function run in the debugger.
I just realized that "syntax error at position N" is *not* the exact
spelling you would get from a syntax error in PG's main parser, which I
think is what we were all assuming this'd trace down to somehow.
What it is is the (very poorly chosen) message you get if either
ltree_in() or lquery_in() doesn't like what it's been handed.
So basically, the problem here is that TestLtree() is being called with a
string that isn't a valid ltree representation. You haven't shown us what
you are doing on that end, but for example I can duplicate the error message
with
# select text2ltree(' ');
ERROR: syntax error at position 0
regards, tom lane