Информация об изменениях

Сообщение Re[2]: Postgree INSERT ON CONFLICT DO NOTHING от 22.05.2021 8:46

Изменено 22.05.2021 8:46 swimmers

Re[2]: Postgree INSERT ON CONFLICT DO NOTHING
Здравствуйте, Mace Windu, Вы писали:

MW>Полноценная поддержка ON CONFLICT и подобных пока только в планах. Нужно время либо добровольцы.


А вот в PostgreSQLSqlBuilder.BuildInsertOrUpdateQuery вроде все уже написано, но что и как написать, что-бы попасть в сюда?

if (insertOrUpdate.Update.Items.Count > 0)
    {
        base.StringBuilder.AppendLine(") DO UPDATE SET");
        base.Indent++;
        bool flag2 = true;
        foreach (SqlSetExpression item in insertOrUpdate.Update.Items)
        {
            if (!flag2)
            {
                base.StringBuilder.AppendLine(this.Comma);
            }
            flag2 = false;
            base.AppendIndent();
            base.BuildExpression(item.Column, false, true, true);
            base.StringBuilder.Append(" = ");
            base.BuildExpression(item.Expression, true, true, true);
        }
        base.Indent--;
        base.StringBuilder.AppendLine();
    }
    else
    {
        base.StringBuilder.AppendLine(") DO NOTHING");
    }
Re[2]: Postgree INSERT ON CONFLICT DO NOTHING
Здравствуйте, Mace Windu, Вы писали:

MW>Полноценная поддержка ON CONFLICT и подобных пока только в планах. Нужно время либо добровольцы.


А вот в PostgreSQLSqlBuilder.BuildInsertOrUpdateQuery вроде все уже написано, но что и как написать, что-бы попасть сюда?

if (insertOrUpdate.Update.Items.Count > 0)
    {
        base.StringBuilder.AppendLine(") DO UPDATE SET");
        base.Indent++;
        bool flag2 = true;
        foreach (SqlSetExpression item in insertOrUpdate.Update.Items)
        {
            if (!flag2)
            {
                base.StringBuilder.AppendLine(this.Comma);
            }
            flag2 = false;
            base.AppendIndent();
            base.BuildExpression(item.Column, false, true, true);
            base.StringBuilder.Append(" = ");
            base.BuildExpression(item.Expression, true, true, true);
        }
        base.Indent--;
        base.StringBuilder.AppendLine();
    }
    else
    {
        base.StringBuilder.AppendLine(") DO NOTHING");
    }