Documentation Source Text

Hex Artifact Content
Login

Artifact 7271e53c21fa8010b2ffdd5c8324981b10afba637d7380c38fae543501b630e6:


0000: 3c 74 69 74 6c 65 3e 53 51 4c 69 74 65 20 49 73  <title>SQLite Is
0010: 20 54 72 61 6e 73 61 63 74 69 6f 6e 61 6c 3c 2f   Transactional</
0020: 74 69 74 6c 65 3e 0a 3c 74 63 6c 3e 68 64 5f 6b  title>.<tcl>hd_k
0030: 65 79 77 6f 72 64 73 20 7b 70 6f 77 65 72 2d 73  eywords {power-s
0040: 61 66 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 73  afe transactions
0050: 7d 20 7b 74 72 61 6e 73 61 63 74 69 6f 6e 61 6c  } {transactional
0060: 7d 20 7b 70 6f 77 65 72 2d 73 61 66 65 7d 3c 2f  } {power-safe}</
0070: 74 63 6c 3e 0a 0a 3c 68 32 3e 53 51 4c 69 74 65  tcl>..<h2>SQLite
0080: 20 69 73 20 54 72 61 6e 73 61 63 74 69 6f 6e 61   is Transactiona
0090: 6c 3c 2f 68 32 3e 0a 0a 3c 70 3e 41 20 74 72 61  l</h2>..<p>A tra
00a0: 6e 73 61 63 74 69 6f 6e 61 6c 20 64 61 74 61 62  nsactional datab
00b0: 61 73 65 20 69 73 20 6f 6e 65 20 69 6e 20 77 68  ase is one in wh
00c0: 69 63 68 20 61 6c 6c 20 63 68 61 6e 67 65 73 20  ich all changes 
00d0: 61 6e 64 20 71 75 65 72 69 65 73 0a 61 70 70 65  and queries.appe
00e0: 61 72 20 74 6f 20 62 65 0a 41 74 6f 6d 69 63 2c  ar to be.Atomic,
00f0: 20 43 6f 6e 73 69 73 74 65 6e 74 2c 20 49 73 6f   Consistent, Iso
0100: 6c 61 74 65 64 2c 20 61 6e 64 20 44 75 72 61 62  lated, and Durab
0110: 6c 65 0a 28 5b 68 74 74 70 3a 2f 2f 65 6e 2e 77  le.([http://en.w
0120: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b  ikipedia.org/wik
0130: 69 2f 41 43 49 44 20 7c 20 41 43 49 44 5d 29 2e  i/ACID | ACID]).
0140: 0a 53 51 4c 69 74 65 20 69 6d 70 6c 65 6d 65 6e  .SQLite implemen
0150: 74 73 20 0a 5b 68 74 74 70 3a 2f 2f 65 6e 2e 77  ts .[http://en.w
0160: 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b  ikipedia.org/wik
0170: 69 2f 53 65 72 69 61 6c 69 7a 61 62 69 6c 69 74  i/Serializabilit
0180: 79 20 7c 20 73 65 72 69 61 6c 69 7a 61 62 6c 65  y | serializable
0190: 5d 0a 74 72 61 6e 73 61 63 74 69 6f 6e 73 20 74  ].transactions t
01a0: 68 61 74 20 61 72 65 20 61 74 6f 6d 69 63 2c 20  hat are atomic, 
01b0: 63 6f 6e 73 69 73 74 65 6e 74 2c 20 69 73 6f 6c  consistent, isol
01c0: 61 74 65 64 2c 20 61 6e 64 20 64 75 72 61 62 6c  ated, and durabl
01d0: 65 2c 0a 65 76 65 6e 20 69 66 20 74 68 65 20 74  e,.even if the t
01e0: 72 61 6e 73 61 63 74 69 6f 6e 20 69 73 20 69 6e  ransaction is in
01f0: 74 65 72 72 75 70 74 65 64 20 62 79 20 61 20 70  terrupted by a p
0200: 72 6f 67 72 61 6d 20 63 72 61 73 68 2c 20 61 6e  rogram crash, an
0210: 0a 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65  .operating syste
0220: 6d 20 63 72 61 73 68 2c 20 6f 72 20 61 20 70 6f  m crash, or a po
0230: 77 65 72 20 66 61 69 6c 75 72 65 20 74 6f 20 74  wer failure to t
0240: 68 65 20 63 6f 6d 70 75 74 65 72 2e 0a 3c 2f 70  he computer..</p
0250: 3e 0a 0a 3c 70 3e 0a 57 65 20 68 65 72 65 20 72  >..<p>.We here r
0260: 65 73 74 61 74 65 20 61 6e 64 20 61 6d 70 6c 69  estate and ampli
0270: 66 79 20 74 68 65 20 70 72 65 76 69 6f 75 73 20  fy the previous 
0280: 73 65 6e 74 65 6e 63 65 20 66 6f 72 20 65 6d 70  sentence for emp
0290: 68 61 73 69 73 3a 0a 41 6c 6c 20 63 68 61 6e 67  hasis:.All chang
02a0: 65 73 20 77 69 74 68 69 6e 20 61 20 73 69 6e 67  es within a sing
02b0: 6c 65 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 69  le transaction i
02c0: 6e 20 53 51 4c 69 74 65 20 65 69 74 68 65 72 20  n SQLite either 
02d0: 6f 63 63 75 72 0a 63 6f 6d 70 6c 65 74 65 6c 79  occur.completely
02e0: 20 6f 72 20 6e 6f 74 20 61 74 20 61 6c 6c 2c 20   or not at all, 
02f0: 65 76 65 6e 20 69 66 20 74 68 65 20 61 63 74 20  even if the act 
0300: 6f 66 20 77 72 69 74 69 6e 67 20 74 68 65 20 63  of writing the c
0310: 68 61 6e 67 65 0a 6f 75 74 20 74 6f 20 74 68 65  hange.out to the
0320: 20 64 69 73 6b 20 69 73 20 69 6e 74 65 72 72 75   disk is interru
0330: 70 74 65 64 20 62 79 0a 3c 75 6c 3e 0a 3c 6c 69  pted by.<ul>.<li
0340: 3e 61 20 70 72 6f 67 72 61 6d 20 63 72 61 73 68  >a program crash
0350: 2c 3c 2f 6c 69 3e 0a 3c 6c 69 3e 61 6e 20 6f 70  ,</li>.<li>an op
0360: 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 63  erating system c
0370: 72 61 73 68 2c 20 6f 72 3c 2f 6c 69 3e 0a 3c 6c  rash, or</li>.<l
0380: 69 3e 61 20 70 6f 77 65 72 20 66 61 69 6c 75 72  i>a power failur
0390: 65 2e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 3c 70  e.</li>.</ul>.<p
03a0: 3e 0a 0a 3c 70 3e 0a 54 68 65 20 63 6c 61 69 6d  >..<p>.The claim
03b0: 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73   of the previous
03c0: 20 70 61 72 61 67 72 61 70 68 20 69 73 20 65 78   paragraph is ex
03d0: 74 65 6e 73 69 76 65 6c 79 20 63 68 65 63 6b 65  tensively checke
03e0: 64 20 69 6e 20 74 68 65 0a 53 51 4c 69 74 65 20  d in the.SQLite 
03f0: 72 65 67 72 65 73 73 69 6f 6e 20 74 65 73 74 20  regression test 
0400: 73 75 69 74 65 20 75 73 69 6e 67 20 61 20 73 70  suite using a sp
0410: 65 63 69 61 6c 20 74 65 73 74 20 68 61 72 6e 65  ecial test harne
0420: 73 73 20 74 68 61 74 20 0a 73 69 6d 75 6c 61 74  ss that .simulat
0430: 65 73 20 74 68 65 20 65 66 66 65 63 74 73 20 6f  es the effects o
0440: 6e 20 61 20 64 61 74 61 62 61 73 65 20 66 69 6c  n a database fil
0450: 65 20 6f 66 20 6f 70 65 72 61 74 69 6e 67 20 73  e of operating s
0460: 79 73 74 65 6d 20 63 72 61 73 68 65 73 20 0a 61  ystem crashes .a
0470: 6e 64 20 70 6f 77 65 72 20 66 61 69 6c 75 72 65  nd power failure
0480: 73 2e 0a 3c 2f 70 3e 0a 0a 3c 70 3e 0a 3c 61 20  s..</p>..<p>.<a 
0490: 68 72 65 66 3d 22 61 74 6f 6d 69 63 63 6f 6d 6d  href="atomiccomm
04a0: 69 74 2e 68 74 6d 6c 22 3e 41 64 64 69 74 69 6f  it.html">Additio
04b0: 6e 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3c  nal information<
04c0: 2f 61 3e 0a 3c 2f 70 3e 0a                       /a>.</p>.