Эффект объединения обновления не виден при первом запуске выбораJavascript

Форум по Javascript
Ответить
Anonymous
 Эффект объединения обновления не виден при первом запуске выбора

Сообщение Anonymous »

У меня очень странное поведение при использовании pglite (PostgreSQL версии 16) в Firefox, где я запускаю UPDATE JOIN, а затем SELECT, который в первый раз не отражает изменения, внесенные UPDATE, но если я запускаю это второй раз!

Код: Выделить всё

async function handleDeselectElement()
{
console.assert(g.parentNode.tagName=='svg');
const idbox = parseInt(g.id.substring('g_'.length));
const selectedContextIndex = parseInt(g.parentElement.id);

const xForms = g.transform.baseVal;// an SVGTransformList
const firstXForm = xForms.getItem(0); //an SVGTransform
console.assert (firstXForm.type == SVGTransform.SVG_TRANSFORM_TRANSLATE);
const translateX = firstXForm.matrix.e;
const translateY = firstXForm.matrix.f;

const ret = await db.query(`
UPDATE translation t
SET x=${translateX}, y=${translateY}
FROM rectangle r
WHERE t.idrectangle=r.idrectangle
AND r.idbox=${idbox}
RETURNING *
`);

console.log(ret);

await enforce_bounding_rectangle(selectedContextIndex);

const links = await compute_links(selectedContextIndex);
//  mycontexts.contexts[selectedContextIndex].links = await links;
document.getElementById(`links_${selectedContextIndex}`).innerHTML = drawLinks(links);
}
Это мое ОБНОВЛЕНИЕ.

Код: Выделить всё

upload.addEventListener("click", async (evt)=>{
const ret = await db.query(`
SELECT json_build_object(
'diagram', (SELECT json_agg(row_to_json(diagram))::json FROM diagram),
'box', (SELECT json_agg(row_to_json(box))::json FROM box),
'field', (SELECT coalesce(json_agg(row_to_json(field))::json, '[]'::json) FROM field),
'value', (SELECT coalesce(json_agg(row_to_json(value))::json, '[]'::json) FROM value),
'link', (SELECT coalesce(json_agg(row_to_json(link))::json, '[]'::json) FROM link),
'tag', (SELECT json_agg(row_to_json(tag))::json FROM tag),
'message_tag', (SELECT coalesce(json_agg(row_to_json(message_tag))::json, '[]'::json) FROM message_tag),
'graph', (SELECT coalesce(json_agg(row_to_json(graph))::json, '[]'::json) FROM graph),
'rectangle', (SELECT json_agg(row_to_json(rectangle))::json FROM rectangle),
'translation', (SELECT json_agg(row_to_json(translation))::json FROM translation),
'polyline', (SELECT coalesce(json_agg(row_to_json(polyline))::json, '[]'::json) FROM polyline)
);
`);

const doc = ret.rows[0].json_build_object;
const json_doc = JSON.stringify(doc);
console.log(json_doc);
const response = await fetch(
//"https://www.diskloud.fr:3000/linkedboxdraw/post",
"https://109.11.33.79:8443/linkedboxdraw/post",
{
method: "POST",
body: json_doc,
headers: {"Content-Type": "application/json"}
}
);
console.log(response.status);
});
Это мой ВЫБОР.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -of-select
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»