postgresql.org
вот решил посмотреть в документашку: Dollar-Quoted String Constants — вот это наркомания.
вот решил посмотреть в документашку: Dollar-Quoted String Constants — вот это наркомания.
Короче, пасаны, смотрите, надо сделать преобразователь запросов вида select f1, f2 from table1 where f1 = ? and f2 < ? в запросы вида select f1, f2 from table1 where f1 = $1 and f2 < $1 Так как постгре субада оригинальная и принимает параметры в таком вот странном виде, когда все другие принимают вместо параметров вопросики. При этом надо чтобы корректно обрабатывались случаи идентификаторов в кавычках ("table?") и строковых литералов с бэкквотами ('this is literal?\''), коментариев, блочных и строковых. Во всех этих случаях знаки вопросов надо игнорировать, только если знак вопроса не внутри кавычек и не внутри коментария он должен заменяться на $1, $2, $3 и так далее. Как без байтоебства сделать ?
1864-05-09 20:28:03.39944+04:02:24
Это что, ISO ? В доках постгре о формате выводимой даты ни слова, запостил на стек, мне там ответили, что это зависит от локальной таймзоны. В связи с этим у меня вопрос: не слишком ли деспотично будет при коннекте делать
сразу
set timezone='utc'
И не париться по поводу разбора даты ? Пользователь по идее будет пользоваться сразу разобранной датой и маловероятно что ему захочется использовать другую таймзону чтобы вручную ее парсить. Предусматривать разные таймзоны со своими правилами форматирования времени, не логично как то. Или можно эту херню как то парсить нормально, с помощью нехи родных для линукс либ ? пакет time может парсить таймзону только вида HH:SS, а unix-time работает только с юникс таймом, то есть только начиная с 1970 года, что тоже не канает.
wiki.postgresql.org
позволю себе напрямую опубликовать таки
позволю себе напрямую опубликовать таки
juick.com), но и добавить к ним Oracle. Интересно, почитала бы и послушала взгляд со стороны =)
хотелось бы сравнение не только MySQL и PostgreSQL(via CREATE OR REPLACE FUNCTION dynamic_query(sql text, hernya text)
RETURNS SETOF RECORD AS $$
DECLARE
rec RECORD;
BEGIN
FOR rec IN EXECUTE sql
LOOP
RETURN NEXT rec;
END LOOP;
RETURN;
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION dynamic_query(q text, hernya text)
RETURN SETOF RECORDS AS $$
CLUSTER 'usercluster';
RUN ON ALL;
$$ LANGUAGE plproxy;