/ All files named "src/hash.c"
Login

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

History for src/hash.c

2019-04-13
14:07
[8d7dda24] part of check-in [c28c973a] Fixes for harmless compiler warnings. (check-in: [c28c973a] user: drh branch: trunk, size: 8111)
2018-12-05
13:39
[6d2f6727] part of check-in [7da617e9] Enhance the sqlite3_normalize_sql() interface so that it works even if the prepared statement was not initially compiled using SQLITE_PREPARE_NORMALIZED. Enhance the ".trace" command in the CLI so that it is able to access the full scope of functionality provided by sqlite3_trace_v2() and in particular so that it is able to show normalized SQL output using the newly enhanced sqlite3_normalize_sql() interface. (check-in: [7da617e9] user: drh branch: trunk, size: 9871)
2018-10-29
17:53
[931ec82d] part of check-in [592b66e8] Add the sqlite3_normalized_sql() API. (check-in: [592b66e8] user: mistachkin branch: normalized_sql, size: 9856)
2017-07-05
23:33
[a12580e1] part of check-in [f762f1ef] Make the hash table implementation a little smaller and faster. (check-in: [f762f1ef] user: drh branch: trunk, size: 8112)
2016-09-28
20:42
[63d0ee75] part of check-in [cc29ddd6] Use Knuth multiplicative hashing for the symbol table. (check-in: [cc29ddd6] user: drh branch: trunk, size: 8072)
2016-04-28
14:15
[55b5fb47] part of check-in [33e62747] Use comments to mark several branches as optimizations. No changes to code. (check-in: [33e62747] user: drh branch: trunk, size: 7855)
2015-09-25
16:29
[5b5ce67b] part of check-in [2c57b2f3] Disable the SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS mechanism and replace it with SQLITE_TESTCTRL_BENIGN_MALLOC_CTRL, which gives better control. (check-in: [2c57b2f3] user: drh branch: malloc-testing, size: 7784)
2014-08-21
20:26
[4263fbc9] part of check-in [14b0f561] Simplify the interface to the symbol table, saving 600 bytes of code space. (check-in: [14b0f561] user: drh branch: trunk, size: 7799)
2014-05-19
15:16
[a3dc015f] part of check-in [17349a49] Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. (check-in: [17349a49] user: drh branch: safer-malloc, size: 8176)
2014-01-24
16:36
[d1393199] part of check-in [b1824344] Use an unsigned integer to accumulate the string hash. Avoids compiler warnings. (check-in: [b1824344] user: drh branch: trunk, size: 8171)
2012-10-18
10:35
[ac3470bb] part of check-in [51a6a797] More warning fixes. (check-in: [51a6a797] user: mistachkin branch: warnings, size: 8162)
2012-08-07
15:19
[a4031441] part of check-in [17cb5e95] Fix a bug in hash.c introduced by [305b66672653]. (check-in: [17cb5e95] user: dan branch: trunk, size: 8162)
2012-07-30
14:53
[1f35276f] part of check-in [305b6667] Replace a few sqlite3_malloc()+memset() sequences with calls to sqlite3MallocZero(). (check-in: [305b6667] user: dan branch: trunk, size: 7811)
2009-11-10
01:30
[458488dc] part of check-in [f6c045f6] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f6] user: drh branch: trunk, size: 7857)
2009-05-09
23:29
[ebcaa921] part of check-in [42372999] Convert an always-true condition in hash.c into an assert(). (CVS 6624) (check-in: [42372999] user: drh branch: trunk, size: 7912)
2009-05-02
13:29
[7e90268f] part of check-in [80c43a35] Remove the aFKey hash table, which was not being used. Simplify the FKey object. Simplify the hash.c module since the copyKey parameter formerly used only by aFKey is now no longer required. (CVS 6594) (check-in: [80c43a35] user: drh branch: trunk, size: 7896)
2009-04-28
17:33
[0caea57f] part of check-in [fe9f00aa] Fix asserts in hash.c so that zero-length symbols can be used. (CVS 6563) (check-in: [fe9f00aa] user: drh branch: trunk, size: 8753)
15:43
[407e5ca1] part of check-in [5c737835] Simplifications to the symbol table implementation in hash.c. For very small symbol tables (less than 10 entries) a simple linked list is used instead of a hash table. Number of hash table buckets is limited to prevent large allocations. (CVS 6559) (check-in: [5c737835] user: drh branch: trunk, size: 8750)
13:01
[15d39cbe] part of check-in [23d67af3] Do not store the zero string terminator as part of the name when holding symbols in the symbol table. (CVS 6557) (check-in: [23d67af3] user: drh branch: trunk, size: 8942)
2009-01-09
01:12
[5824e6ff] part of check-in [45bb5703] Increased test coverage. (CVS 6147) (check-in: [45bb5703] user: drh branch: trunk, size: 8965)
2008-12-10
19:26
[831e9c19] part of check-in [c872d554] Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) (check-in: [c872d554] user: drh branch: trunk, size: 8979)
2008-10-10
17:41
[582c0061] part of check-in [ff50a8a7] Simplify the symbol hash table to use only a single key class. Other changes to improve code coverage. (CVS 5794) (check-in: [ff50a8a7] user: drh branch: trunk, size: 8970)
2008-06-20
14:59
[eb64e48f] part of check-in [56c8af14] Add a mode to the sqlite3_test_control() interface to register hooks called at the beginning and end of "benign malloc failure" blocks. This allows malloc() failure testing to be done using public APIs only. (CVS 5254) (check-in: [56c8af14] user: danielk1977 branch: trunk, size: 12838)
2008-06-15
02:51
[283864c1] part of check-in [65fe7b62] Continuing work on the new memory allocation subsystem. Added routines for temporary memory allocation. Right the btree balance mechanism to only do one temporary allocation at a time. (CVS 5220) (check-in: [65fe7b62] user: drh branch: trunk, size: 12882)
2008-05-13
13:27
[fd8cb06f] part of check-in [a9d1d931] Make the benign-fault setting recursive. Make all malloc failures during a rollback benign since there is nothing we can do about them. (CVS 5128) (check-in: [a9d1d931] user: drh branch: trunk, size: 12884)
2008-04-02
18:33
[522a8f5a] part of check-in [e8529455] Minor optimizations. (CVS 4955) (check-in: [e8529455] user: drh branch: trunk, size: 12855)
2008-02-18
22:24
[53655c31] part of check-in [63da5d97] Add the memory fault simulator to mem5.c. Enable soft heap limit on mem5.c. Limit the size of hash tables and the vdbefifo when using mem5.c. (CVS 4795) (check-in: [63da5d97] user: drh branch: trunk, size: 12881)
2008-01-22
21:30
[2dc6afe7] part of check-in [1a335e18] Add the fault injector module in fault.c. Use it as a basis for memory allocation failure testing. (CVS 4742) (check-in: [1a335e18] user: drh branch: trunk, size: 12796)
2007-09-04
14:31
[45a7005a] part of check-in [17ca684c] Add internal locking to the test_async.c backend. So that more than one connection may be used from within a single process. (CVS 4396) (check-in: [17ca684c] user: danielk1977 branch: trunk, size: 12729)
2007-09-03
15:03
[06c69a3a] part of check-in [a19d3a73] Fix a problem in hash.c when replacing entries in tables configured with copyKey==0. (CVS 4375) (check-in: [a19d3a73] user: danielk1977 branch: trunk, size: 12323)
2007-08-29
12:31
[8fe2fa52] part of check-in [e38ef81b] Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) (check-in: [e38ef81b] user: danielk1977 branch: trunk, size: 12222)
2007-08-16
10:09
[2f322979] part of check-in [77b16713] More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (check-in: [77b16713] user: danielk1977 branch: trunk, size: 11927)
04:30
[05ebefb8] part of check-in [deb7ecd6] Half-way through a major refactoring of the memory allocation. I have not even attempted to compile so I am certain there are countless errors. (CVS 4231) (check-in: [deb7ecd6] user: drh branch: trunk, size: 11916)
2007-03-31
03:59
[67b23e14] part of check-in [2aae1964] Fix a long-standing memory leak in the hash table. The leak only appears following a malloc failure of a hash that copies its keys, which rarely happens and so we have not previously noticed it. (CVS 3777) (check-in: [2aae1964] user: drh branch: trunk, size: 11942)
2006-02-14
10:48
[449f3d66] part of check-in [f4150c29] Changes so that test_async.c works with memory management turned on. (CVS 3093) (check-in: [f4150c29] user: danielk1977 branch: trunk, size: 11896)
2005-10-03
15:11
[8747cf51] part of check-in [080eadca] The hash tables deallocate when empty in order to avoid nuisanse complaints from valgrind. Added tests to verify no hash table memory leaks in os_unix.c. (CVS 2738) (check-in: [080eadca] user: drh branch: trunk, size: 11838)
2005-01-31
12:56
[2b1b13f7] part of check-in [5c10ccd8] Move sqlite3HashNoCase to hash.c. (CVS 2294) (check-in: [5c10ccd8] user: danielk1977 branch: trunk, size: 11738)
2004-08-20
14:08
[a97721a5] part of check-in [d5b0269e] Optimizations in the hash table module. (CVS 1896) (check-in: [d5b0269e] user: drh branch: trunk, size: 11573)
2004-06-30
22:43
[f0a2f22c] part of check-in [8a6e4ea7] Do not use "new" as a variable name - some compilers think it is a keyword. (CVS 1787) (check-in: [8a6e4ea7] user: drh branch: trunk, size: 11205)
03:08
[148e3512] part of check-in [0c999f28] Improved test coverage of func.c and hash.c. (CVS 1772) (check-in: [0c999f28] user: drh branch: trunk, size: 11196)
2004-05-08
08:23
[440c2f8c] part of check-in [8af6474c] Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (check-in: [8af6474c] user: danielk1977 branch: trunk, size: 11143)
2004-01-08
02:17
[9b56ef3b] part of check-in [34a6b741] Remove unused code and tighten existing code to make the library a little smaller. (CVS 1168) (check-in: [34a6b741] user: drh branch: trunk, size: 11126)
2003-05-12
23:06
[058f077c] part of check-in [39a3e403] Make sure hash functions always return non-negative. (CVS 969) (check-in: [39a3e403] user: drh branch: trunk, size: 11062)
2003-01-02
14:43
[4fc39feb] part of check-in [db745e87] Code optimizations to help the library run faster. (CVS 808) (check-in: [db745e87] user: drh branch: trunk, size: 11068)
2002-05-21
23:44
[6a6236b8] part of check-in [0c903461] Fix for ticket #47: Use a cast to avoid a warning about discarding a "const" inside of hash.c. (CVS 577) (check-in: [0c903461] user: drh branch: trunk, size: 11065)
2002-02-23
23:45
[cc259475] part of check-in [c490a1ff] Added support for user-defined normal functions. Support for user-defined aggregates is pending. (CVS 390) (check-in: [c490a1ff] user: drh branch: trunk, size: 11071)
2002-01-14
09:28
[8f7c740e] part of check-in [f3038d21] Fix warning messages in VC++. Patches from nicolas352001. (CVS 347) (check-in: [f3038d21] user: drh branch: trunk, size: 11052)
2002-01-06
17:07
[838a6f2a] part of check-in [9b0be4fc] Comment updates most. Also some small changes to the VDBE. (CVS 339) (check-in: [9b0be4fc] user: drh branch: trunk, size: 11044)
2001-11-21
02:21
[6f1a7712] part of check-in [03673adb] Attempting to add support for 64-bit platforms. (CVS 314) (check-in: [03673adb] user: drh branch: trunk, size: 9727)
2001-10-22
02:58
[d0110e6d] part of check-in [f8328a5f] More changes for 2.0.7. (CVS 293) (check-in: [f8328a5f] user: drh branch: trunk, size: 9695)
2001-10-12
17:30
[b7ced073] part of check-in [0a7848b6] Fix an assertion failure when the disk fills up. Add tests for a full disk situation. (CVS 285) (check-in: [0a7848b6] user: drh branch: trunk, size: 9636)
2001-09-22
18:12
Added: [bf36fb4c] part of check-in [9114420d] Put in a generic hash table system in place of the various ad-hoc hash table scattered everywhere. Except, the page hash table in the pager is unchanged. (CVS 260) (check-in: [9114420d] user: drh branch: trunk, size: 9646)