Thread: Re: Error on the query

Re: Error on the query

From
Pavel Stehule
Date:
Hi

út 4. 3. 2025 v 18:30 odesílatel Igor Korot <ikorot01@gmail.com> napsal:
Hi, ALL,
Trying to execute following query:

[code]
        queries.push_back( L"DO $$ BEGIN IF NOT EXISTS( SELECT 1 FROM
pg_class c, pg_namespace n WHERE n.oid = c.relnamespace AND c.relname
= \'abcatc_x\' AND n.nspname = \'public\' ) THEN CREATE UNIQUE INDEX
\"abcatc_x\" ON \"abcatcol\"(\"abc_tnam\" ASC, \"abc_ownr\" ASC,
\"abc_cnam\" ASC); END IF; END;" );
[/code]

I got:

[quote]
$4 = L"ERROR:  unterminated dollar-quoted string at or near \"$$ BEGIN
IF NOT EXISTS( SELECT 1 FROM pg_class c, pg_namespace n WHERE n.oid =
c.relnamespace AND c.relna
me = 'abcatc_x' AND n.nspname = 'public' "...

[/quote]

What am I missing?


you miss ending string separator

DO $$ .... $$;

DO $$
BEGIN
  IF ... THEN
  END IF;
END;
$$;

Regards

Pavel

Thank you.


Re: Error on the query

From
"David G. Johnston"
Date:
On Tuesday, March 4, 2025, Igor Korot <ikorot01@gmail.com> wrote:
[code]
        queries.push_back( L"DO $$ BEGIN IF NOT EXISTS( SELECT 1 FROM
pg_class c, pg_namespace n WHERE n.oid = c.relnamespace AND c.relname
= \'abcatc_x\' AND n.nspname = \'public\' ) THEN CREATE UNIQUE INDEX
\"abcatc_x\" ON \"abcatcol\"(\"abc_tnam\" ASC, \"abc_ownr\" ASC,
\"abc_cnam\" ASC); END IF; END;" );
[/code]

What am I missing?

“ ERROR:  unterminated dollar-quoted string at or near‘

The terminator for your dollar-quoted string.

David J.

 

Error on the query

From
Igor Korot
Date:
Hi, ALL,
Trying to execute following query:

[code]
        queries.push_back( L"DO $$ BEGIN IF NOT EXISTS( SELECT 1 FROM
pg_class c, pg_namespace n WHERE n.oid = c.relnamespace AND c.relname
= \'abcatc_x\' AND n.nspname = \'public\' ) THEN CREATE UNIQUE INDEX
\"abcatc_x\" ON \"abcatcol\"(\"abc_tnam\" ASC, \"abc_ownr\" ASC,
\"abc_cnam\" ASC); END IF; END;" );
[/code]

I got:

[quote]
$4 = L"ERROR:  unterminated dollar-quoted string at or near \"$$ BEGIN
IF NOT EXISTS( SELECT 1 FROM pg_class c, pg_namespace n WHERE n.oid =
c.relnamespace AND c.relna
me = 'abcatc_x' AND n.nspname = 'public' "...

[/quote]

What am I missing?

Thank you.



Re: Error on the query

From
Igor Korot
Date:
Hi, Pavel,

On Tue, Mar 4, 2025 at 11:36 AM Pavel Stehule <pavel.stehule@gmail.com> wrote:
>
> Hi
>
> út 4. 3. 2025 v 18:30 odesílatel Igor Korot <ikorot01@gmail.com> napsal:
>>
>> Hi, ALL,
>> Trying to execute following query:
>>
>> [code]
>>         queries.push_back( L"DO $$ BEGIN IF NOT EXISTS( SELECT 1 FROM
>> pg_class c, pg_namespace n WHERE n.oid = c.relnamespace AND c.relname
>> = \'abcatc_x\' AND n.nspname = \'public\' ) THEN CREATE UNIQUE INDEX
>> \"abcatc_x\" ON \"abcatcol\"(\"abc_tnam\" ASC, \"abc_ownr\" ASC,
>> \"abc_cnam\" ASC); END IF; END;" );
>> [/code]
>>
>> I got:
>>
>> [quote]
>> $4 = L"ERROR:  unterminated dollar-quoted string at or near \"$$ BEGIN
>> IF NOT EXISTS( SELECT 1 FROM pg_class c, pg_namespace n WHERE n.oid =
>> c.relnamespace AND c.relna
>> me = 'abcatc_x' AND n.nspname = 'public' "...
>>
>> [/quote]
>>
>> What am I missing?
>
>
>
> you miss ending string separator
>
> DO $$ .... $$;
>
> DO $$
> BEGIN
>   IF ... THEN
>   END IF;
> END;
> $$;

Thank you.
Works now.

>
> Regards
>
> Pavel
>>
>>
>> Thank you.
>>
>>