Skip to content

Conversation

Ev3nt
Copy link
Contributor

@Ev3nt Ev3nt commented Sep 17, 2025

Before:

SQL> show function SYSTEM.RDB$BLOB_UTIL.IS_WRITABLE;
Function: SYSTEM.RDB$BLOB_UTIL.IS_WRITABLE
Engine: SYSTEM
Parameters:
                                  OUTPUT (SYSTEM.RDB$BOOLEAN) BOOLEAN
"BLOB"                            INPUT (SYSTEM.RDB$BLOB) BLOB CHARACTER SET SYSTEM.NONE

After:

SQL> show function SYSTEM.RDB$BLOB_UTIL.IS_WRITABLE;
Function: SYSTEM.RDB$BLOB_UTIL.IS_WRITABLE
Engine: SYSTEM
Parameters:
                                  OUTPUT (SYSTEM.RDB$BOOLEAN) BOOLEAN
BLOB                                                            INPUT (SYSTEM.RDB$BLOB) BLOB CHARACTER SET SYSTEM.NONE

The same goes for any other keywords that come up.

@sim1984
Copy link

sim1984 commented Sep 17, 2025

What is the benefit of this change? On the contrary, using quotes allows you to copy the parameter for its actual use.

select RDB$BLOB_UTIL.IS_WRITABLE(BLOB => '') as b
from rdb$database;
Statement failed, SQLSTATE = 42000
Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, column 34
-BLOB

vs

select RDB$BLOB_UTIL.IS_WRITABLE("BLOB" => '') as b
from rdb$database;
      B
=======
<false>

@Ev3nt Ev3nt closed this Sep 17, 2025
@aafemt
Copy link
Contributor

aafemt commented Sep 17, 2025

using quotes allows you to copy the parameter for its actual use.

If you copy an identifier from ISQL output it is simper to quote it always. Anyway ISQL doesn't provide a ready to copy-paste list of fields, you have to insert commas in between.

@sim1984
Copy link

sim1984 commented Sep 17, 2025

using quotes allows you to copy the parameter for its actual use.

If you copy an identifier from ISQL output it is simper to quote it always. Anyway ISQL doesn't provide a ready to copy-paste list of fields, you have to insert commas in between.

I don't want to use quotation marks where they're unnecessary. Putting a comma between parameters is easy. Let's not improve what doesn't need improvement.

@asfernandes
Copy link
Member

In this example, if quotes were not inserted, you would have two functions with the same name.

SQL> create schema S1;
SQL> create schema "S1.F1";
SQL> create function S1."F1.X" returns integer as begin end;
SQL> create function "S1.F1".X returns integer as begin end;
SQL> show function;
S1."F1.X"
"S1.F1".X

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants