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

Люди, можно как-то при insert ... select ... проигнорировать те

записи, для которых check constraint зарубил возможность вставки? не получается сделать ON conflict ON constraint ck_attribute_value_check DO NOTHING

11 ответов

22 просмотра

А, не, перепутал. Ну, привести одно к другому.

Вообще, покажы \d -- будет понятнее. Но по идее -- всего-то (...fields...)::attribute_values

Anton-Petrusevich Автор вопроса
Ilya Anfimov
А, не, перепутал. Ну, привести одно к другому.

непонятно. функция должна принимать произвольный рекорд, но как только она вызывается в констрейнте, то получается привязка какая-то

Anton Petrusevich
непонятно. функция должна принимать произвольный р...

Этого не можэт быть. Покажы \d и как ты это в SELECT пытаешься вызвать.

Anton-Petrusevich Автор вопроса
Ilya Anfimov
Вообще, покажы \d -- будет понятнее. Но по идее -...

alter table attribute_values add constraint ck_attribute_value_check check (attribute_value_check(attribute_values) = true);

2249/16 argtypes/rettype. Всё вроде как надо.

Anton-Petrusevich Автор вопроса
Ilya Anfimov
2249/16 argtypes/rettype. Всё вроде как надо.

прототип: create or replace function attribute_value_check(val record) returns boolean as $$

Кстати, собирать минимальный тэстовый запрос можно снизу начать. Просто эта табличка и WHERE твой attribute_value_check.

Anton-Petrusevich Автор вопроса
Ilya Anfimov
Кстати, собирать минимальный тэстовый запрос можно...

если закомментировать with ..., то селект ниже работает...

Баг, отражённый в документацыи, считается фичей: The mutable nature of record variables presents another problem in this connection. When fields of a record variable are used in expressions or statements, the data types of the fields must not change from one call of the function to the next, since each expression will be analyzed using the data type that is present when the expression is first reached. EXECUTE can be used to get around this problem when necessary. https://www.postgresql.org/docs/current/plpgsql-implementation.html#PLPGSQL-PLAN-CACHING

Anton-Petrusevich Автор вопроса
Ilya Anfimov
Баг, отражённый в документацыи, считается фичей: ...

оу... насколько плохо такое решение? https://sqlize.online/sql/psql15/29f285ddc7c3a66f7eb2d1dfcf9d801a/

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта