172 похожих чатов

Добрый день всем Подскажите, пожалуйста, TRUNCATE это команда DDL или DML?

В доке не нашел.
Спасибо

7 ответов

15 просмотров

Помню уже было обсуждение это как-то раз давно. В памяти осталось лишь, что TRUNCATE - это как твоя бывшая. С ней всё сложно.

в случае Postgres я отношу TRUNCATE к DDL — из-за необходимости в AccessExclusiveLock.

По ISO SQL — DML. И это (даже несколько раз) написано в документации PostgreSQL, между прочим.

Виктор Егоров
в случае Postgres я отношу TRUNCATE к DDL — из-за ...

И относите неправильно, кстати. Команды относятся к DML или DDL на основании того, что они делают, а не на основании дефектов их реализации в конкретных СУБД. ;)

Artem-T. Автор вопроса
Yaroslav Schekin
По ISO SQL — DML. И это (даже несколько раз) напис...

Спасибо за ответ А не скинете ссылку на доку?

Artem T.
Спасибо за ответ А не скинете ссылку на доку?

ISO SQL:2016: 14 Data manipulation ... 14.10 <truncate table statement> > А не скинете ссылку на доку? Прямо в документации PostgreSQL это не написано, учтите (как и многое другое — видимо, подразумевается, что все прочитают это... в стандарте или где-то ещё). Зато упоминается там, где это имеет практическое значение. Пример 1 (из https://www.postgresql.org/docs/current/runtime-config-logging.html ): log_statement (enum) Controls which SQL statements are logged. Valid values are none (off), ddl, mod, and all (all statements). ddl logs all data definition statements, such as CREATE, ALTER, and DROP statements. mod logs all ddl statements, plus data-modifying statements such as INSERT, UPDATE, DELETE, TRUNCATE, and COPY FROM. Пример 2 (из https://www.postgresql.org/docs/current/plpgsql-trigger.html ), где на этом основано разделение видов триггеров: 43.10.1. Triggers on Data Changes 43.10.2. Triggers on Events Триггеры на TRUNCATE относятся к первому виду. И так далее (надоело искать). А вот ( https://www.postgresql.org/docs/current/mvcc-caveats.html ), например, ошибка в документации: Some DDL commands, currently only TRUNCATE and the table-rewriting forms of ALTER TABLE, are not MVCC-safe. Вот взяли бы Вы и написали bug report по этому поводу, кстати, раз уж я за Вас по-grep-ал документацию. ;)

Artem-T. Автор вопроса
Yaroslav Schekin
ISO SQL:2016: 14 Data manipulation ... 14.10 <trun...

Спасибо вам большое за ответ, очень много полезной информации) По поводу заведения бага, не разу не пробовал, но попробую (после отпуска 😁)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта