Определение функции PostgreSQL в SQuirreL: неопределенная строка в кавычках

У меня есть следующее определение функции для базы данных PostgreSQL 9.3.4:

CREATE OR REPLACE FUNCTION update_modified_timestamp()  
RETURNS TRIGGER AS $
  BEGIN
    NEW.modified_at = now();
    RETURN NEW; 
  END;
$ LANGUAGE plpgsql;

Когда я пытаюсь выполнить это в SQuirreL (3.5.3 или 3.6), я получаю следующую ошибку:

Error: ERROR: unterminated dollar-quoted string at or near "$
 BEGIN
     NEW.modified_at = now()"
  Position: 77
SQLState:  42601
ErrorCode: 0

До сих пор я узнал этоможно смягчить, используя одинарные кавычки разделить тело функции следующим образом:

CREATE OR REPLACE FUNCTION update_modified_timestamp()  
RETURNS TRIGGER AS '
  BEGIN
    NEW.modified_at = now();
    RETURN NEW; 
  END;
' LANGUAGE plpgsql;

Тем не менее, я хотел бы знать, если это не может быть решено иначе - я думаю, что это должно быть возможно, так какпролетный путь может выполнить этот сценарий, и он использует тот же драйвер JDBC, который настроен в SQuirreL.

Обновить: @a_horse_with_no_name отметил, что эта ошибка не имеет ничего общего с драйвером JDBC, но с тем, как SQuirreL анализирует оператор SQL и разбивает его на куски перед отправкой в ​​базу данных. Таким образом, оставшийся вопрос:Может ли SQuirreL отправить запрос в сыром / непарсированном виде? Я искал совсем немного, не мог найти способ сделать это.

Ответы на вопрос(1)

Ваш ответ на вопрос