Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Add SQLITE_DETERMINISTIC and SQLITE_INNOCUOUS flags to some app-defined SQL functions for which those flags are valid and would help performance. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
bd7f5c0b3780286f344a868212e38a51 |
| User & Date: | drh 2024-12-25 23:24:28.762 |
Context
|
2024-12-26
| ||
| 09:27 | Correct some as-yet-unused semantics in symbolic_name_to_rid() which were inadvertently broken in [1ef6499a9a], which was reverting some new breakage from [4d8c30265b3dc76d]. Problem seen only by accident when comparison impls between fossil and libfossil. The value of the feature being repaired is, in hindsight, questionable. check-in: 15df204706 user: stephan tags: trunk | |
|
2024-12-25
| ||
| 23:24 | Add SQLITE_DETERMINISTIC and SQLITE_INNOCUOUS flags to some app-defined SQL functions for which those flags are valid and would help performance. check-in: bd7f5c0b37 user: drh tags: trunk | |
|
2024-12-24
| ||
| 14:58 | Update the change log to describe the new automatic ms=glob on /timeline. check-in: f0008db2b4 user: drh tags: trunk | |
Changes
Changes to src/db.c.
| ︙ | ︙ | |||
1559 1560 1561 1562 1563 1564 1565 |
/*
** Register the SQL functions that are useful both to the internal
** representation and to the "fossil sql" command.
*/
void db_add_aux_functions(sqlite3 *db){
sqlite3_create_collation(db, "uintnocase", SQLITE_UTF8,0,uintNocaseCollFunc);
| | > | | > | | > | | > | > | | > | | > | | 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 |
/*
** Register the SQL functions that are useful both to the internal
** representation and to the "fossil sql" command.
*/
void db_add_aux_functions(sqlite3 *db){
sqlite3_create_collation(db, "uintnocase", SQLITE_UTF8,0,uintNocaseCollFunc);
sqlite3_create_function(db, "checkin_mtime", 2,
SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
0, db_checkin_mtime_function, 0, 0);
sqlite3_create_function(db, "symbolic_name_to_rid", 1,
SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
0, db_sym2rid_function, 0, 0);
sqlite3_create_function(db, "symbolic_name_to_rid", 2,
SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
0, db_sym2rid_function, 0, 0);
sqlite3_create_function(db, "now", 0,
SQLITE_UTF8|SQLITE_INNOCUOUS, 0,
db_now_function, 0, 0);
sqlite3_create_function(db, "toLocal", 0,
SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
0, db_tolocal_function, 0, 0);
sqlite3_create_function(db, "fromLocal", 0,
SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
0, db_fromlocal_function, 0, 0);
sqlite3_create_function(db, "hextoblob", 1,
SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS,
0, db_hextoblob, 0, 0);
sqlite3_create_function(db, "capunion", 1, SQLITE_UTF8, 0,
0, capability_union_step, capability_union_finalize);
sqlite3_create_function(db, "fullcap", 1, SQLITE_UTF8, 0,
capability_fullcap, 0, 0);
sqlite3_create_function(db, "find_emailaddr", 1, SQLITE_UTF8, 0,
alert_find_emailaddr_func, 0, 0);
sqlite3_create_function(db, "display_name", 1, SQLITE_UTF8, 0,
|
| ︙ | ︙ |