Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
57
Task/Hash-join/Bracmat/hash-join.bracmat
Normal file
57
Task/Hash-join/Bracmat/hash-join.bracmat
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
( (27.Jonah)
|
||||
(18.Alan)
|
||||
(28.Glory)
|
||||
(18.Popeye)
|
||||
(28.Alan)
|
||||
: ?table-A
|
||||
& (Jonah.Whales)
|
||||
(Jonah.Spiders)
|
||||
(Alan.Ghosts)
|
||||
(Alan.Zombies)
|
||||
(Glory.Buffy)
|
||||
: ?table-B
|
||||
& new$hash:?H
|
||||
& !table-A:? [?lenA
|
||||
& !table-B:? [?lenB
|
||||
& ( join
|
||||
= smalltab bigtab smallschema bigschema joinschema
|
||||
, key val val2 keyval2
|
||||
. !arg
|
||||
: (?smalltab.?bigtab.(=?smallschema.?bigschema.?joinschema))
|
||||
& :?rel
|
||||
& !(
|
||||
' ( whl
|
||||
' ( !smalltab:$smallschema ?smalltab
|
||||
& (H..insert)$(!key.!val)
|
||||
)
|
||||
& whl
|
||||
' ( !bigtab:$bigschema ?bigtab
|
||||
& ( (H..find)$!key:?keyval2
|
||||
& whl
|
||||
' ( !keyval2:(?key.?val2) ?keyval2
|
||||
& $joinschema !rel:?rel
|
||||
)
|
||||
|
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
& !rel
|
||||
)
|
||||
& out
|
||||
$ ( join
|
||||
$ ( !lenA:~<!lenB
|
||||
& ( !table-B
|
||||
. !table-A
|
||||
. (
|
||||
= (?key.?val).(?val.?key).!val.!key.!val2
|
||||
)
|
||||
)
|
||||
| ( !table-A
|
||||
. !table-B
|
||||
. (=(?val.?key).(?key.?val).!val2.!key.!val)
|
||||
)
|
||||
)
|
||||
)
|
||||
&
|
||||
);
|
||||
Loading…
Add table
Add a link
Reference in a new issue