Documentation Source Text

Check-in [d9d337b927]
Login

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

Overview
Comment:More documentation on how PRAGMA index_info and PRAGMA index_xinfo handle indexes on expressions.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: d9d337b9270d984f8f46cb8ac403975c75de2c217fb99bef6bdfec94f8206cad
User & Date: drh 2019-09-26 19:24:07.687
Context
2019-09-26
19:34
Update the RBU documentation to remove the constraint about it not working with indexes on expressions. (check-in: e7771db6cc user: drh tags: trunk)
19:24
More documentation on how PRAGMA index_info and PRAGMA index_xinfo handle indexes on expressions. (check-in: d9d337b927 user: drh tags: trunk)
19:02
Fix introspection pragma documentation to show that they are now on by default. Add documentation for the TCL Interface config method. (check-in: a94ea31acb user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/pragma.in.
1471
1472
1473
1474
1475
1476
1477


1478

1479
1480
1481
1482
1483
1484
1485
    index-columns are not shown by the index_info pragma, but they are
    listed by the [index_xinfo pragma].</p>

    <p>Output columns from the index_info pragma are as follows:
    <ol>
    <li>^(The rank of the column within the index.  (0 means left-most.))^
    <li>^The rank of the column within the table being indexed.


    <li>^The name of the column being indexed.

    </ol>

    <p>If there is no index named <i>index-name</i> but there is a
    [WITHOUT ROWID] table with that name, then (as of
    SQLite [version 3.30.0] on [dateof:3.30.0]) this pragma returns the
    PRIMARY KEY columns of the WITHOUT ROWID table as they are used
    in the records of the underlying b-tree, which is to say with







>
>
|
>







1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
    index-columns are not shown by the index_info pragma, but they are
    listed by the [index_xinfo pragma].</p>

    <p>Output columns from the index_info pragma are as follows:
    <ol>
    <li>^(The rank of the column within the index.  (0 means left-most.))^
    <li>^The rank of the column within the table being indexed.
        ^A value of -1 means [rowid] and a value of -2 means that an
        [expression index|expression] is being used.
    <li>^The name of the column being indexed.  ^This columns is NULL
        if the column is the [rowid] or an [expression index|expression].
    </ol>

    <p>If there is no index named <i>index-name</i> but there is a
    [WITHOUT ROWID] table with that name, then (as of
    SQLite [version 3.30.0] on [dateof:3.30.0]) this pragma returns the
    PRIMARY KEY columns of the WITHOUT ROWID table as they are used
    in the records of the underlying b-tree, which is to say with
1497
1498
1499
1500
1501
1502
1503
1504

1505
1506

1507
1508
1509
1510
1511
1512
1513
    locate the table entry that corresponds to each index entry.)

    <p>Output columns from the index_xinfo pragma are as follows:
    <ol>
    <li>^(The rank of the column within the index. (0 means left-most.
         Key columns come before auxiliary columns.))^
    <li>^The rank of the column within the table being indexed, or -1 if
         the index-column is the [rowid] of the table being indexed.

    <li>^The name of the column being indexed, or NULL if the index-column
         is the [rowid] of the table being indexed.

    <li>^1 if the index-column is sorted in reverse (DESC) order by the
         index and 0 otherwise.
    <li>^The name for the [collating sequence]
         used to compare values in the index-column.
    <li>^1 if the index-column is a key column and 0 if the index-column
         is an auxiliary column.
    </ol>







|
>

|
>







1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
    locate the table entry that corresponds to each index entry.)

    <p>Output columns from the index_xinfo pragma are as follows:
    <ol>
    <li>^(The rank of the column within the index. (0 means left-most.
         Key columns come before auxiliary columns.))^
    <li>^The rank of the column within the table being indexed, or -1 if
         the index-column is the [rowid] of the table being indexed and -2
         if the [expression index|index is on an expression].
    <li>^The name of the column being indexed, or NULL if the index-column
         is the [rowid] of the table being indexed or an
         [expression index|expression].
    <li>^1 if the index-column is sorted in reverse (DESC) order by the
         index and 0 otherwise.
    <li>^The name for the [collating sequence]
         used to compare values in the index-column.
    <li>^1 if the index-column is a key column and 0 if the index-column
         is an auxiliary column.
    </ol>