Skip to content
Max Hirschhorn edited this page May 5, 2013 · 1 revision

Data File

terms.dta

{a, 1}.
{a, 2}.
{a, 3}.
{a, 4}.
{a, 5}.

Query #1

File Input >> File Output

FileInput = test1.

application:start(ydb).
ydb_sup:register_input_stream({
    FileInput
  , ydb_branch_file_input
  , [{filename, "terms.dta"}]
  , []
  , [{a, [{type, {1, atom}}, {value, {2, int}}]}]
  , [{a, '$auto_timestamp'}]
}).

InputStream = {input_stream, FileInput, a}.
FileOutput = {file_output, "results.out", InputStream}.

ydb_sup:register_query({
    query1
  , FileOutput
}).

ydb_branch_file_input:do_read(FileInput).

results.out

{a, 1}.
{a, 2}.
{a, 3}.
{a, 4}.
{a, 5}.

Query #2

File Input >> Select (s) >> File Output

FileInput = test2.

application:start(ydb).
ydb_sup:register_input_stream({
    FileInput
  , ydb_branch_file_input
  , [{filename, "terms.dta"}]
  , []
  , [{a, [{type, {1, atom}}, {value, {2, int}}]}]
  , [{a, '$auto_timestamp'}]
}).

InputStream = {input_stream, FileInput, a}.
SelectNode = {select, {ydb_cv, value, lte, 3}, InputStream}.
FileOutput = {file_output, "results.out", SelectNode}.

ydb_sup:register_query({
    query2
  , FileOutput
}).

ydb_branch_file_input:do_read(FileInput).

results.out

{a, 1}.
{a, 2}.
{a, 3}.

Query #3

File Input >> Project (s) >> File Output

FileInput = test3.

application:start(ydb).
ydb_sup:register_input_stream({
    FileInput
  , ydb_branch_file_input
  , [{filename, "terms.dta"}]
  , []
  , [{a, [{type, {1, atom}}, {value, {2, int}}]}]
  , [{a, '$auto_timestamp'}]
}).

InputStream = {input_stream, FileInput, a}.
ProjectNode = {project, [value], InputStream}.
FileOutput = {file_output, "results.out", ProjectNode}.

ydb_sup:register_query({
    query3
  , FileOutput
}).

ydb_branch_file_input:do_read(FileInput).

results.out

{1}.
{2}.
{3}.
{4}.
{5}.

Query #4

File Input >> Select (s) >> Project (s) >> File Output

FileInput = test4.

application:start(ydb).
ydb_sup:register_input_stream({
    FileInput
  , ydb_branch_file_input
  , [{filename, "terms.dta"}]
  , []
  , [{a, [{type, {1, atom}}, {value, {2, int}}]}]
  , [{a, '$auto_timestamp'}]
}).

InputStream = {input_stream, FileInput, a}.
SelectNode = {select, {ydb_cv, value, lte, 3}, InputStream}.
ProjectNode = {project, [value], SelectNode}.
FileOutput = {file_output, "results.out", ProjectNode}.

ydb_sup:register_query({
    query4
  , FileOutput
}).

ydb_branch_file_input:do_read(FileInput).

results.out

{1}.
{2}.
{3}.

Query #5

File Input >> Project (s) >> Select (s) >> File Output

FileInput = test5.

application:start(ydb).
ydb_sup:register_input_stream({
    FileInput
  , ydb_branch_file_input
  , [{filename, "terms.dta"}]
  , []
  , [{a, [{type, {1, atom}}, {value, {2, int}}]}]
  , [{a, '$auto_timestamp'}]
}).

InputStream = {input_stream, FileInput, a}.
ProjectNode = {project, [value], InputStream}.
SelectNode = {select, {ydb_cv, value, lte, 3}, ProjectNode}.
FileOutput = {file_output, "results.out", SelectNode}.

ydb_sup:register_query({
    query5
  , FileOutput
}).

ydb_branch_file_input:do_read(FileInput).

results.out

{1}.
{2}.
{3}.