Могут различные соединения базы данных того же sqlite начинать транзакции одновременно?

1111 Это не сработает, потому что это небезопасно. Тип Base может иметь свойство mySpecificA, поскольку оно не ограничено этими тремя свойствами (обратите внимание на разницу между {...} и {|...|}). Чтобы позволить Flow действительно проверить, есть ли у ключа resource данный ключ, вы должны как-то различать эти два типа. Например, ограничьте возможные свойства, используя распространение вместо пересечения:

// Most of the non-changed parts are skipped.

type Base = {
  version: string,
  name: string,
  year: number
};

type ResourceA = {
  ...Base,
  mySpecificA: string
};

type ResourceB = {
  ...Base,
  mySpecificB: string
};

function ResourceDescriptor({ resource }: Props) {
  return (
    
{/* Just works. */} {typeof resource.mySpecificB === 'string' &&
{resource.mySpecificA}
} {/* Works only if exact objects are being used in all three types. */} {resource.mySpecificA &&
{resource.mySpecificA}
}
); }

Теперь, если объект типа DescribableResource имеет свойство mySpecificA, ясно, что это тип ResourceA.

Существует множество проблем при смешении пересечений с объединениями, например facebook / flow # 4029 или facebook / flow # 4247 , которые могут быть связаны.

7
задан Andreas Niedermair 2 April 2015 в 12:51
поделиться

2 ответа

При чтении документации SQLite Вы будете видеть, что она поддерживает многочисленные связи для чтения только, Вы не можете записать в базу данных от mulitple соединений, потому что она не разработана для этого.

http://www.sqlite.org/faq.html#q5

14
ответ дан 6 December 2019 в 10:04
поделиться

Если Вы не используете, НАЧИНАЮТСЯ НЕПОСРЕДСТВЕННЫЙ для инициирования транзакций, Вы рискуете иметь необходимость откатывать и повторить их. НАЧИНАНИЕ не делает никакой блокировки; последующее ОБНОВЛЕНИЕ или INSERT получают блокировку, и необходимо проверить код результата, чтобы видеть, перестали ли они работать. Посмотрите эту страницу на транзакциях и этого на блокировках.

5
ответ дан 6 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

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