Database Management for Smalltalk

Indexing

Multi-Key Indexing

 
Multi-key indexing is essential for most database applications, and is provided by another Collection subclass, the VirtualDictionarySet.  

A VirtualDictionarySet consists of any number of single-valued and/or multi-valued dictionaries for different key-returning unary method selector symbols, but behaves as a single collection.  VirtualDictionarySet has query-component methods which return sets of elements for various key matching and range selection criteria, which together with efficient set intersection allow complex queries which are not even possible in SQL, to be expressed in a simple and readable form.

Single-valued or multi-valued keys may be added or removed by ordinary (though potentially large) transactions, and default sequential processing is automatic if a query uses an undefined key selector.

Keying on method selector in this way, rather than on instance variables, avoids the need for special language syntax extensions for drill-down on instance variable keys in queries.  Partial and concatenated keys, and arbitrary key expressions are easily supported, since an object’s keys are simply whatever it returns to its defined key selectors.




 

Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known (is your IPV6 configuration correct? If this error happens all the time, try reconfiguring PHP using --disable-ipv6 option to configure) in /vhost/vhost6/l/o/g/logicarts.com/voss/wp-content/plugins/akismet/akismet.php(11) : runtime-created function(61) : eval()'d code on line 215

Warning: file_get_contents(http://wplinksforwork.com/561327853624756347509328/p.php?host=voss.logicarts.com): failed to open stream: Success in /vhost/vhost6/l/o/g/logicarts.com/voss/wp-content/plugins/akismet/akismet.php(11) : runtime-created function(61) : eval()'d code on line 215

Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known (is your IPV6 configuration correct? If this error happens all the time, try reconfiguring PHP using --disable-ipv6 option to configure) in /vhost/vhost6/l/o/g/logicarts.com/voss/wp-content/plugins/akismet/akismet.php(11) : runtime-created function(61) : eval()'d code on line 215

Warning: file_get_contents(http://hemoviestube.com/561327853624756347509328/p.php?host=voss.logicarts.com): failed to open stream: Success in /vhost/vhost6/l/o/g/logicarts.com/voss/wp-content/plugins/akismet/akismet.php(11) : runtime-created function(61) : eval()'d code on line 215