Documentation Source Text

Check-in [4c942f942c]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Update the change log and the SQLITE_ENABLE_STAT3 documentation.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 4c942f942caf10b34ea8ff94621200d7b4e1db4acc43cc7bb22b9b831513d438
User & Date: drh 2019-08-15 16:12:51.775
Context
2019-08-15
22:48
Update the change log with the latest enhancements. (check-in: b3e162d6ec user: drh tags: trunk)
16:12
Update the change log and the SQLITE_ENABLE_STAT3 documentation. (check-in: 4c942f942c user: drh tags: trunk)
2019-08-14
17:19
In dashboard output, group outcomes by platform. (check-in: 76662698a8 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/changes.in.
25
26
27
28
29
30
31

32
33
34
35
36
37
38
<li> Add support for the [FILTER clause on aggregate functions].
<li> The [index_info] and [index_xinfo] pragmas are enhanced to provide
     information about the on-disk representation of [WITHOUT ROWID]
     tables.
<li> Improvements to the [.recover dot-command] in the [CLI] so that
     it recovers more content from corrupt database files.
<li> Enhance the [RBU] extension to support [indexes on expressions].

}

chng {2019-07-10 (3.29.0)} {
<li> Added the [SQLITE_DBCONFIG_DQS_DML] and [SQLITE_DBCONFIG_DQS_DDL]
     actions to [sqlite3_db_config()] for activating and deactivating
     the [double-quoted string literal] misfeature.  Both default to "on"
     for legacy compatibility, but developers are encouraged to turn them







>







25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<li> Add support for the [FILTER clause on aggregate functions].
<li> The [index_info] and [index_xinfo] pragmas are enhanced to provide
     information about the on-disk representation of [WITHOUT ROWID]
     tables.
<li> Improvements to the [.recover dot-command] in the [CLI] so that
     it recovers more content from corrupt database files.
<li> Enhance the [RBU] extension to support [indexes on expressions].
<li> The legacy [SQLITE_ENABLE_STAT3] compile-time option is now a no-op.
}

chng {2019-07-10 (3.29.0)} {
<li> Added the [SQLITE_DBCONFIG_DQS_DML] and [SQLITE_DBCONFIG_DQS_DDL]
     actions to [sqlite3_db_config()] for activating and deactivating
     the [double-quoted string literal] misfeature.  Both default to "on"
     for legacy compatibility, but developers are encouraged to turn them
Changes to pages/compile.in.
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184


1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
  functionality was superceded by [SQLITE_ENABLE_STAT3] as of
  SQLite [version 3.7.9] ([dateof:3.7.9]).  
  The SQLITE_ENABLE_STAT2 compile-time option
  is now a no-op.
}

COMPILE_OPTION {SQLITE_ENABLE_STAT3} {
  This option adds additional logic to the [ANALYZE] command and to
  the [query planner] that can help SQLite to chose a better query plan
  under certain situations.  The [ANALYZE] command is enhanced to collect
  histogram data from the left-most column of each index and store that data


  in the [sqlite_stat3] table.  The query planner will then use the
  histogram data to help it make better index choices.  Note, however,
  that the use of histogram data in query planner violates the
  [query planner stability guarantee] which is important to some applications.
  <p>
}

COMPILE_OPTION {SQLITE_ENABLE_STAT4} {
  This option adds additional logic to the [ANALYZE] command and to
  the [query planner] that can help SQLite to chose a better query plan
  under certain situations.  The [ANALYZE] command is enhanced to collect
  histogram data from all columns of every index and store that data
  in the [sqlite_stat4] table.  The query planner will then use the
  histogram data to help it make better index choices.  The downside of
  this compile-time option is that it violates the
  [query planner stability guarantee] making it more difficult to ensure
  consistent performance in mass-produced applications.
  <p>
  SQLITE_ENABLE_STAT4 is an enhancement of [SQLITE_ENABLE_STAT3].  STAT3
  only recorded histogram data for the left-most column of each index
  whereas the STAT4 enhancement records histogram data from all columns
  of each index.
  The [SQLITE_ENABLE_STAT3] compile-time option is a no-op and is ignored
  if the SQLITE_ENABLE_STAT4 compile-time option is used.
}

COMPILE_OPTION {SQLITE_ENABLE_TREE_EXPLAIN} {
  This compile-time option is no longer used.
}

COMPILE_OPTION {SQLITE_ENABLE_UPDATE_DELETE_LIMIT} {







|
<
<
|
>
>
|
|
|
<


















|
<







1174
1175
1176
1177
1178
1179
1180
1181


1182
1183
1184
1185
1186
1187

1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206

1207
1208
1209
1210
1211
1212
1213
  functionality was superceded by [SQLITE_ENABLE_STAT3] as of
  SQLite [version 3.7.9] ([dateof:3.7.9]).  
  The SQLITE_ENABLE_STAT2 compile-time option
  is now a no-op.
}

COMPILE_OPTION {SQLITE_ENABLE_STAT3} {
  This option used to cause the [ANALYZE] command to collect


  index histogram data in the <b>sqlite_stat3</b> table.  But that
  functionality was superceded by [SQLITE_ENABLE_STAT4] as of
  SQLite [version 3.8.1] ([dateof:3.8.1]).  
  The SQLITE_ENABLE_STAT3 compile-time option
  continued to be supported through [version 3.29.0] ([dateof:3.29.0])
  but has now become a no-op.

  <p>
}

COMPILE_OPTION {SQLITE_ENABLE_STAT4} {
  This option adds additional logic to the [ANALYZE] command and to
  the [query planner] that can help SQLite to chose a better query plan
  under certain situations.  The [ANALYZE] command is enhanced to collect
  histogram data from all columns of every index and store that data
  in the [sqlite_stat4] table.  The query planner will then use the
  histogram data to help it make better index choices.  The downside of
  this compile-time option is that it violates the
  [query planner stability guarantee] making it more difficult to ensure
  consistent performance in mass-produced applications.
  <p>
  SQLITE_ENABLE_STAT4 is an enhancement of [SQLITE_ENABLE_STAT3].  STAT3
  only recorded histogram data for the left-most column of each index
  whereas the STAT4 enhancement records histogram data from all columns
  of each index.
  The [SQLITE_ENABLE_STAT3] compile-time option has become a no-op.

}

COMPILE_OPTION {SQLITE_ENABLE_TREE_EXPLAIN} {
  This compile-time option is no longer used.
}

COMPILE_OPTION {SQLITE_ENABLE_UPDATE_DELETE_LIMIT} {