| P.W. Trinder. A Functional Database. D.Phil thesis, Computing Laboratory, Oxford University, U.K., 1989. |
....[44] The generation of the three matrices can be done concurrently, and requires elements of each input matrix to be read. Three iterations over 5x5 matrices were used. The transaction processing program is the largest of our programs and is based upon Trinder s pipelined database system [43]. The program uses a database represented by a binary tree. Database operations (i.e. lookups and updates) are grouped into transactions which either commit or abort. One hundred transactions, each of ten operations are used, and the tree contains 10000 leaf nodes (i.e. database records) It is an ....
Phil Trinder. A Functional Database. PhD thesis, Computing Laboratory, Oxford University, Oxford, U.K., 1989.
.... is equivalent to a schedule in which the transactions are executed sequentially [5] and several styles of concurrency control algorithms have been proposed [3] Using a functional language leads naturally to an approach in which concurrent transactions operate on multiple versions of the database [12]. We begin by reviewing this style of transaction processing, before addressing the issues involved in its parallelization. 2 Functional transaction processing The problem we consider involves updates to a simple database, comprising a collection of records indexed by a single key. We shall ....
....let db 1 4 = assign x 1 e 1 db 0 in . let db 5 4 = assign x 5 e 5 db 4 in db 5 else db 0 where the function ok tests whether a lookup has succeeded: ok : Maybe ff Bool ok (Yes x ) 4 = True ok No 4 = False This sort of global rollback is neatly supported by a functional formulation [12]: the program may return either the old root node or a new one reflecting all the updates. 3 Reducing synchronization The program of the previous section has much parallelism within a transaction: ffl The various lookup operations may be executed in parallel. ffl Assuming that transactions ....
[Article contains additional citation context not shown here]
Phil Trinder. A Functional Database. PhD thesis, Computing Laboratory, Oxford University, Oxford, U.K., 1989.
....by set abstraction in mathematics. List comprehensions are widely available in functional programming languages and are heavily used to manipulate collections of data. A full description can be found in [31] List comprehensions were first used in functional database programming languages [1,32,36]. It is argued in [37] that list comprehensions are a good query notation for complex databases because of their brevity, clarity, expressive power, ease of optimisation, and smooth integration with programming languages. A study of collections in [40] shows that collection comprehensions can ....
....is possible to transform an object comprehension into another, more efficient comprehension. Optimisation developed for list comprehensions include most important relational optimisations, and are also applicable to object comprehensions. Details of which are not repeated here but can be found in [36], instead we examine here the optimisation of some new features that exist in object comprehensions: namely the hasClass predicate and the quantifiers. A Aggregate Function O Object valued Expression B Boolean valued Expression Q Collection Algebra Operation C Collection valued Expression T ....
P.W. Trinder. A Functional Database. D.Phil thesis, Computing Laboratory, Oxford University, U.K., 1989.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC