Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

new notice

  • Loading branch information...
commit d40be1125183d52e9993feadecb2226f5c36697a 1 parent 2785bcf
authored March 29, 2012

Showing 1 changed file with 31 additions and 3 deletions. Show diff stats Hide diff stats

  1. 34  README.md
34  README.md
Source Rendered
... ...
@@ -1,17 +1,26 @@
  1
+Notice
  2
+------
  3
+
  4
+This project is under heavy development and does not yet do anything other than pass some tests.
  5
+
  6
+
1 7
 DeltaQL
2 8
 -------
3 9
 
4 10
 Imagine a database (like MySQL or SQLServer) whose 'result sets' automatically update as the underlying data changes.  Add to this a facility to extend these 'deltas' all the way to the browser.
5 11
 
  12
+That's right, the results of query, displayed in a web page which changes when (and only when) a change the underlying data alters the result of a particular query.
  13
+
6 14
 Welcome to DeltaQL - no more F5, no more polling the DB.
7 15
 
8 16
 
  17
+
9 18
 Deliverables
10 19
 ------------
11 20
 
12 21
 DeltaQL has five deliverables:
13 22
 
14  
-1. The Bootstrap App.  A minimal NodeJS web app with just one live page - ideal to build upon.
  23
+1. The Bootstrap App.  https://github.com/chrisdew/deltaql-bootstrap#readme  A minimal NodeJS web app with just one live page - ideal to build upon.
15 24
 
16 25
 2. The Server Library.  This is written in Javascript for NodeJS and is used by both your NodeJS web applications and any (optional) separate databases.  DeltaQL can be run both in-process and as separate server process(es).
17 26
 
@@ -27,13 +36,15 @@ Persistance
27 36
 
28 37
 DeltaQL operates in memory.  It has hooks to add persistence to MySQL, Postgres or any other NodeJS supported database.  Use DeltaQL for all your 'live' clients, yet persist your data in a database which you trust.
29 38
 
30  
-The only built-in Persistor is the simple, but inefficient, JSONFilePersistor.  Any others will need to be written (for MySQL, etc.) but it's not hard.
  39
+The two hooks are a 'save state' (i.e. on controlled shutdown) and a 'delta log' to recover data after a power outage.
  40
+
  41
+The only built-in Persistor is the simple, but inefficient, JsonFilePersistor.  Any others will need to be written (for MySQL, Postgres, etc.) but it's not hard.
31 42
 
32 43
 
33 44
 Origins
34 45
 -------
35 46
 
36  
-When I found myself solving the same 'data freshness' and pub/sub issues in NodeJS for the third time, I recognised it as a need and created the DeltaQL project.
  47
+When I found myself solving the same 'data freshness' and pub/sub issues in NodeJS for the third time, I recognised the need for a solution to the general case and so created the DeltaQL project.
37 48
 
38 49
 
39 50
 Built on the Shoulders of Giants
@@ -53,4 +64,21 @@ This may be useful if you start diving into the code.
53 64
 * Row - a JSON object with an 'id' field containing an unique string (often a UUID) and zero or more further fields.
54 65
 * Sop - a Set OPeration.  This is a delta which keeps a two ResultSets in sync.
55 66
 * LivePage - any web page containing one or more ResultLists.
  67
+* Filter - a transform from a ResultSet to a possibly smaller ResultSet
  68
+* Sort - a transform from a ResultSet to a ResultList
  69
+* Head - a transform from a ResultList to a possibly smaller ResiltList
  70
+* Tail - a transfrom from a ResultList to a possibly smaller ResultList
  71
+
  72
+
  73
+Licence
  74
+-------
  75
+
  76
+DeltaQL is available under the MIT licence:
  77
+
  78
+Copyright (C) 2012 Chris Dew.
  79
+
  80
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
  81
+
  82
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
56 83
 
  84
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

0 notes on commit d40be11

Please sign in to comment.
Something went wrong with that request. Please try again.