[GENERAL] Using the dollar sign as a prefix for named parameter of prepared statement.

Поиск
Список
Период
Сортировка
От Dmitry Igrishin
Тема [GENERAL] Using the dollar sign as a prefix for named parameter of prepared statement.
Дата
Msg-id CAAfz9KOmQK1FKJXCao2kJu6ZuhhnQzmkz9930MHe1tvjHKOy4g@mail.gmail.com
обсуждение исходный текст
Ответы Re: [GENERAL] Using the dollar sign as a prefix for named parameter of prepared statement.
Список pgsql-general
Hi all,

I'm working on finishing beta release of my C++ API for PostgreSQL. The library
have simple SQL parser (preprocessor) to support the queries like that:

  SELECT :"column", $tag$constant string$tag$
    FROM :tables
    WHERE name LIKE :'name' AND
          sex = $1 AND
          age > $age

  where:
    :"column" is a variable which will be quoted as identifier (like in psql),
    :tables is a variable which will be not be quoted at all (like in psql),
    :'name' is a variable which will be quoted as literal (like in psql),
    $1 is a positional parameter,
    $age is a named parameter

Is there are any contraindications/caveats/gotchas on using the dollar sign as a prefix for the named parameters?


a) "SQL identifiers and key words must begin with a letter ..."
b) "The tag, if any, of a dollar-quoted string follows the same rules as an unquoted identifier ... "
c) "A dollar sign ($) followed by digits is used to represent a positional parameter in the body of a function definition or a prepared statement. In other contexts the dollar sign can be part of an identifier or a dollar-quoted string constant."

I don't see any problems with such a choise. Am I missing something?

Thanks!

В списке pgsql-general по дате отправления:

Предыдущее
От: Igor Korot
Дата:
Сообщение: [GENERAL] Problem during debugging
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [GENERAL] Using the dollar sign as a prefix for named parameter of prepared statement.