now works with strict/warnings enabled
[Pqsl-Perl.git] / PSQL-Query / lib / README
blobe4f52f31e5f9d69646311d2474712e4833b3bbce
1 The interface is simple you feed it a file it does the following mappings:
3 **EACH TOKEN IS AN OBJECT**
4 **EACH TOKEN HAS A ->src**
5 **EACH TOKEN DERIVES INFORMATION FROM ->src**
7 Each line of the query output is a subclass token (Operation or OperationInfo) of the Row Token
8  Sort  (cost=48262.10..48262.11 rows=2 width=87) (actual time=436194.363..436194.455 rows=73 loops=1)
9    Sort Key: "Appointment Time", "Last Name", "First Name"
10    ->  Unique  (cost=48262.05..48262.09 rows=2 width=87) (actual time=436193.824..436194.168 rows=73 loops=1)
11          ->  Sort  (cost=48262.05..48262.05 rows=2 width=87) (actual time=436193.820..436193.925 rows=73 loops=1)
12                Sort Key: ct_id, "Time Zone", "Last Name", "First Name", "Appointment Time", "Activity", notes, u_id
14 Each row that starts with '->' AND the first line is an Operation Token
15  Sort  (cost=48262.10..48262.11 rows=2 width=87) (actual time=436194.363..436194.455 rows=73 loops=1)
16    ->  Unique  (cost=48262.05..48262.09 rows=2 width=87) (actual time=436193.824..436194.168 rows=73 loops=1)
17          ->  Sort  (cost=48262.05..48262.05 rows=2 width=87) (actual time=436193.820..436193.925 rows=73 loops=1)
19 Each line that doesn't is an OperationInfo token:
20    Sort Key: "Appointment Time", "Last Name", "First Name"
21                Sort Key: ct_id, "Time Zone", "Last Name", "First Name", "Appointment Time", "Activity", notes, u_id
23 Each Row-Operation object has its: name, and DOM level stored and is further divided into two more tokens
24         Cost token [$row->cost]:
25                 (cost=48262.10..48262.11 rows=2 width=87)
26         Time token [$row->time]:
27                 (actual time=436194.363..436194.455 rows=73 loops=1)
29 Both Cost and Time tokens have a Range token:
30         Range token [$row->time->range]:
31                 "time=436194.363..436194.455"
32         Range token [$row->cost->range]:
33                 "cost=48262.10..48262.11 rows=2 width=87"
35 All token-objects have a ->src, to which they generate
36 their information when called upon
39 --METHOD OVERVIEWS--
41 All tokens have:
42         ->src
44 Both Row-Operation, and Row-OperationInfo Tokens have the
45 following accessors:
46         ->src
47         ->name
48 An Row-Operation token has the following accessors:
49         ->src
50         ->cost
51         ->time
52         ->name
53         ->dom_level
54         ->operation_info_row (array of Row-OperationInfo)
55 A Row-OperationInfo token has the following accessors:
56         ->src
57         ->name
59 Both Time tokens, and Cost tokens share:
60         ->range
61         ->rows
62         ->src
63         ->startup (delegate to Range token ->(min/max)
64         ->total (delegate to Range token ->(min/max)
65 So a Time token has the following accessors
66         ->range ## Returns Range token object
67         ->rows
68         ->src
69         ->loops (specific to Time)
70         ->startup (delegate to Range token ->(min/max)
71         ->total (delegate to Range token ->(min/max)
72 And a Cost token has the following accessors
73         ->range ## Returns Range token object
74         ->rows
75         ->src
76         ->width (specific to Cost)
77         ->startup (delegate to Range token ->(min/max)
78         ->total (delegate to Range token ->(min/max)
80 A Range token has the following accessors
81         ->min
82         ->max
84 Methods can be chained
85 ->row->cost->range->min (same as ->row->cost->startup)
86 ->row->dom_level