skydb 0.2.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/README.md +165 -1
- data/lib/skydb.rb +18 -61
- data/lib/skydb/client.rb +186 -186
- data/lib/skydb/event.rb +47 -76
- data/lib/skydb/property.rb +34 -67
- data/lib/skydb/table.rb +121 -41
- data/lib/skydb/version.rb +1 -1
- data/test/integration/client_test.rb +88 -0
- data/test/test_helper.rb +3 -51
- data/test/unit/client_test.rb +135 -32
- metadata +17 -278
- data/bin/sky +0 -89
- data/lib/ext/hash.rb +0 -11
- data/lib/ext/string.rb +0 -11
- data/lib/ext/treetop.rb +0 -19
- data/lib/skydb/action.rb +0 -76
- data/lib/skydb/import.rb +0 -7
- data/lib/skydb/import/importer.rb +0 -435
- data/lib/skydb/import/transforms/apache.yml +0 -4
- data/lib/skydb/import/transforms/sky.yml +0 -28
- data/lib/skydb/import/transforms/snowplow.yml +0 -1
- data/lib/skydb/import/translator.rb +0 -119
- data/lib/skydb/message.rb +0 -146
- data/lib/skydb/message/add_action.rb +0 -53
- data/lib/skydb/message/add_event.rb +0 -72
- data/lib/skydb/message/add_property.rb +0 -55
- data/lib/skydb/message/create_table.rb +0 -64
- data/lib/skydb/message/delete_table.rb +0 -66
- data/lib/skydb/message/get_action.rb +0 -55
- data/lib/skydb/message/get_actions.rb +0 -38
- data/lib/skydb/message/get_properties.rb +0 -38
- data/lib/skydb/message/get_property.rb +0 -55
- data/lib/skydb/message/get_table.rb +0 -74
- data/lib/skydb/message/get_tables.rb +0 -43
- data/lib/skydb/message/lookup.rb +0 -79
- data/lib/skydb/message/lua/aggregate.rb +0 -63
- data/lib/skydb/message/multi.rb +0 -57
- data/lib/skydb/message/next_actions.rb +0 -55
- data/lib/skydb/message/ping.rb +0 -32
- data/lib/skydb/property/type.rb +0 -40
- data/lib/skydb/query.rb +0 -183
- data/lib/skydb/query/after_condition.rb +0 -104
- data/lib/skydb/query/ast/selection_field_syntax_node.rb +0 -26
- data/lib/skydb/query/ast/selection_fields_syntax_node.rb +0 -16
- data/lib/skydb/query/ast/selection_group_syntax_node.rb +0 -16
- data/lib/skydb/query/ast/selection_groups_syntax_node.rb +0 -16
- data/lib/skydb/query/condition.rb +0 -113
- data/lib/skydb/query/on_condition.rb +0 -53
- data/lib/skydb/query/selection.rb +0 -398
- data/lib/skydb/query/selection_field.rb +0 -99
- data/lib/skydb/query/selection_fields_grammar.treetop +0 -46
- data/lib/skydb/query/selection_fields_parse_error.rb +0 -30
- data/lib/skydb/query/selection_group.rb +0 -78
- data/lib/skydb/query/selection_groups_grammar.treetop +0 -31
- data/lib/skydb/query/selection_groups_parse_error.rb +0 -30
- data/lib/skydb/query/validation_error.rb +0 -8
- data/lib/skydb/timestamp.rb +0 -22
- data/test/integration/query_test.rb +0 -102
- data/test/unit/event_test.rb +0 -32
- data/test/unit/import/importer_test.rb +0 -208
- data/test/unit/import/translator_test.rb +0 -88
- data/test/unit/message/add_action_message_test.rb +0 -34
- data/test/unit/message/add_event_message_test.rb +0 -35
- data/test/unit/message/add_property_message_test.rb +0 -41
- data/test/unit/message/create_table_message_test.rb +0 -34
- data/test/unit/message/delete_table_message_test.rb +0 -34
- data/test/unit/message/get_action_message_test.rb +0 -34
- data/test/unit/message/get_actions_message_test.rb +0 -18
- data/test/unit/message/get_properties_message_test.rb +0 -18
- data/test/unit/message/get_property_message_test.rb +0 -34
- data/test/unit/message/get_table_message_test.rb +0 -19
- data/test/unit/message/get_tables_message_test.rb +0 -18
- data/test/unit/message/lookup_message_test.rb +0 -27
- data/test/unit/message/lua_aggregate_message_test.rb +0 -19
- data/test/unit/message/multi_message_test.rb +0 -22
- data/test/unit/message/next_action_message_test.rb +0 -34
- data/test/unit/message/ping_message_test.rb +0 -18
- data/test/unit/message_test.rb +0 -15
- data/test/unit/query/after_test.rb +0 -89
- data/test/unit/query/on_test.rb +0 -71
- data/test/unit/query/selection_test.rb +0 -273
- data/test/unit/query_test.rb +0 -182
- data/test/unit/skydb_test.rb +0 -20
@@ -1,34 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessageDeleteTable < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::DeleteTable.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Action
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_table
|
14
|
-
@message.table = SkyDB::Table.new('foo')
|
15
|
-
refute_nil @message.table
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_invalid_table
|
19
|
-
@message.table = "foo"
|
20
|
-
assert_nil @message.table
|
21
|
-
end
|
22
|
-
|
23
|
-
|
24
|
-
######################################
|
25
|
-
# Encoding
|
26
|
-
######################################
|
27
|
-
|
28
|
-
def test_encode
|
29
|
-
buffer = StringIO.new
|
30
|
-
@message.table = SkyDB::Table.new("foo")
|
31
|
-
@message.encode(buffer)
|
32
|
-
assert_bytes "\x93\x01\xacdelete_table\xa0\x81\xa4name\xa3foo", buffer
|
33
|
-
end
|
34
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessageGetAction < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::GetAction.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Action
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_action_id
|
14
|
-
@message.action_id = 12
|
15
|
-
assert_equal 12, @message.action_id
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_invalid_action_id
|
19
|
-
@message.action_id = "foo"
|
20
|
-
assert_equal 0, @message.action_id
|
21
|
-
end
|
22
|
-
|
23
|
-
|
24
|
-
######################################
|
25
|
-
# Encoding
|
26
|
-
######################################
|
27
|
-
|
28
|
-
def test_encode
|
29
|
-
buffer = StringIO.new
|
30
|
-
@message.action_id = 10
|
31
|
-
@message.encode(buffer)
|
32
|
-
assert_bytes "\x93\x01\xaaget_action\xa0\x0a", buffer
|
33
|
-
end
|
34
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessageGetActions < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::GetActions.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Encoding
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_encode
|
14
|
-
buffer = StringIO.new
|
15
|
-
@message.encode(buffer)
|
16
|
-
assert_bytes "\x93\x01\xabget_actions\xa0", buffer
|
17
|
-
end
|
18
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessageGetProperties < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::GetProperties.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Encoding
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_encode
|
14
|
-
buffer = StringIO.new
|
15
|
-
@message.encode(buffer)
|
16
|
-
assert_bytes "\x93\x01\xaeget_properties\xa0", buffer
|
17
|
-
end
|
18
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessageGetProperty < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::GetProperty.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Property ID
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_property_id
|
14
|
-
@message.property_id = 12
|
15
|
-
assert_equal 12, @message.property_id
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_invalid_property_id
|
19
|
-
@message.property_id = "foo"
|
20
|
-
assert_equal 0, @message.property_id
|
21
|
-
end
|
22
|
-
|
23
|
-
|
24
|
-
######################################
|
25
|
-
# Encoding
|
26
|
-
######################################
|
27
|
-
|
28
|
-
def test_encode
|
29
|
-
buffer = StringIO.new
|
30
|
-
@message.property_id = 10
|
31
|
-
@message.encode(buffer)
|
32
|
-
assert_bytes "\x93\x01\xacget_property\xa0\x0a", buffer
|
33
|
-
end
|
34
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessageGetTable < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::GetTable.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Encoding
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_encode
|
14
|
-
buffer = StringIO.new
|
15
|
-
@message.name = "foo"
|
16
|
-
@message.encode(buffer)
|
17
|
-
assert_bytes "\x93\x01\xa9get_table\xa0\x81\xa4name\xa3foo", buffer
|
18
|
-
end
|
19
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessageGetTables < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::GetTables.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Encoding
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_encode
|
14
|
-
buffer = StringIO.new
|
15
|
-
@message.encode(buffer)
|
16
|
-
assert_bytes "\x93\x01\xaaget_tables\xa0", buffer
|
17
|
-
end
|
18
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessageLookup < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::Lookup.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Encoding
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_encode
|
14
|
-
buffer = StringIO.new
|
15
|
-
@message.actions = [
|
16
|
-
SkyDB::Action.new(:name => 'foo'),
|
17
|
-
SkyDB::Action.new(:name => 'bar'),
|
18
|
-
]
|
19
|
-
@message.properties = [
|
20
|
-
SkyDB::Property.new(:name => 'xxx'),
|
21
|
-
SkyDB::Property.new(:name => 'yyy'),
|
22
|
-
SkyDB::Property.new(:name => 'zzz'),
|
23
|
-
]
|
24
|
-
@message.encode(buffer)
|
25
|
-
assert_bytes "\x93\x01\xa6lookup\xa0\x82\xabactionNames\x92\xa3foo\xa3bar\xadpropertyNames\x93\xa3xxx\xa3yyy\xa3zzz", buffer
|
26
|
-
end
|
27
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessageLuaAggregate < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::Lua::Aggregate.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Encoding
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_encode
|
14
|
-
buffer = StringIO.new
|
15
|
-
@message.source = "function aggregate(cursor, data) return {} end"
|
16
|
-
@message.encode(buffer)
|
17
|
-
assert_bytes "\x93\x01\xaelua::aggregate\xa0\x81\xa6source\xda\x00\x2e" + "function aggregate(cursor, data) return {} end", buffer
|
18
|
-
end
|
19
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessageMulti < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::Multi.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Encoding
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_encode
|
14
|
-
buffer = StringIO.new
|
15
|
-
@message.messages = [
|
16
|
-
SkyDB::Message::GetProperty.new(12),
|
17
|
-
SkyDB::Message::GetAction.new(200)
|
18
|
-
]
|
19
|
-
@message.encode(buffer)
|
20
|
-
assert_bytes "\x93\x01\xa5multi\xa0\x81\xa5count\x02" + "\x93\x01\xacget_property\xa0\x0c" + "\x93\x01\xaaget_action\xa0\xcc\xc8", buffer
|
21
|
-
end
|
22
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessageNextActions < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::NextActions.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Object ID
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_prior_action_ids
|
14
|
-
@message.prior_action_ids = [1, 2, 3]
|
15
|
-
assert_equal [1, 2, 3], @message.prior_action_ids
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_invalid_prior_action_ids
|
19
|
-
@message.prior_action_ids = 12
|
20
|
-
assert_equal [], @message.prior_action_ids
|
21
|
-
end
|
22
|
-
|
23
|
-
|
24
|
-
######################################
|
25
|
-
# Encoding
|
26
|
-
######################################
|
27
|
-
|
28
|
-
def test_encode
|
29
|
-
buffer = StringIO.new
|
30
|
-
@message.prior_action_ids = [1, 2]
|
31
|
-
@message.encode(buffer)
|
32
|
-
assert_bytes "\x93\x01\xacnext_actions\xa0\x92\x01\x02", buffer
|
33
|
-
end
|
34
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessagePing < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message::Ping.new()
|
7
|
-
end
|
8
|
-
|
9
|
-
######################################
|
10
|
-
# Encoding
|
11
|
-
######################################
|
12
|
-
|
13
|
-
def test_encode
|
14
|
-
buffer = StringIO.new
|
15
|
-
@message.encode(buffer)
|
16
|
-
assert_bytes "\x93\x01\xa4ping\xa0", buffer
|
17
|
-
end
|
18
|
-
end
|
data/test/unit/message_test.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# encoding: binary
|
2
|
-
require 'test_helper'
|
3
|
-
|
4
|
-
class TestMessage < MiniTest::Unit::TestCase
|
5
|
-
def setup
|
6
|
-
@message = SkyDB::Message.new('xyz')
|
7
|
-
end
|
8
|
-
|
9
|
-
def test_encode
|
10
|
-
buffer = StringIO.new
|
11
|
-
@message.table_name = "users"
|
12
|
-
@message.encode(buffer)
|
13
|
-
assert_bytes "\x93\x01\xa3xyz\xa5users", buffer
|
14
|
-
end
|
15
|
-
end
|
@@ -1,89 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class TestQueryAfterCondition < MiniTest::Unit::TestCase
|
4
|
-
##############################################################################
|
5
|
-
#
|
6
|
-
# Setup / Teardown
|
7
|
-
#
|
8
|
-
##############################################################################
|
9
|
-
|
10
|
-
def setup
|
11
|
-
@after = SkyDB::Query::AfterCondition.new()
|
12
|
-
end
|
13
|
-
|
14
|
-
|
15
|
-
##############################################################################
|
16
|
-
#
|
17
|
-
# Tests
|
18
|
-
#
|
19
|
-
##############################################################################
|
20
|
-
|
21
|
-
######################################
|
22
|
-
# Validation
|
23
|
-
######################################
|
24
|
-
|
25
|
-
def test_validate_action
|
26
|
-
e = assert_raises(SkyDB::Query::ValidationError) do
|
27
|
-
SkyDB::Query::AfterCondition.new(:function_name => "foo").validate!
|
28
|
-
end
|
29
|
-
assert_match /^Action with non-zero identifier required/, e.message
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_validate_enter_action
|
33
|
-
e = assert_raises(SkyDB::Query::ValidationError) do
|
34
|
-
SkyDB::Query::AfterCondition.new(:action => :enter, :function_name => "foo").validate!
|
35
|
-
end
|
36
|
-
assert_equal "Enter actions cannot be used with an 'after' condition. Please use an 'on' condition instead.", e.message
|
37
|
-
end
|
38
|
-
|
39
|
-
def test_validate_function_name
|
40
|
-
e = assert_raises(SkyDB::Query::ValidationError) do
|
41
|
-
SkyDB::Query::AfterCondition.new(:action => 10).validate!
|
42
|
-
end
|
43
|
-
assert_match /^Invalid function name ''/, e.message
|
44
|
-
end
|
45
|
-
|
46
|
-
|
47
|
-
######################################
|
48
|
-
# Code Generation
|
49
|
-
######################################
|
50
|
-
|
51
|
-
def test_codegen
|
52
|
-
@after = SkyDB::Query::AfterCondition.new(:action => 10, :function_name => "foo")
|
53
|
-
expected =
|
54
|
-
<<-BLOCK.unindent
|
55
|
-
function foo(cursor, data)
|
56
|
-
if cursor:eos() or cursor:eof() then return false end
|
57
|
-
repeat
|
58
|
-
if cursor.event.action_id == 10 then
|
59
|
-
cursor:next()
|
60
|
-
return true
|
61
|
-
end
|
62
|
-
until not cursor:next()
|
63
|
-
return false
|
64
|
-
end
|
65
|
-
BLOCK
|
66
|
-
assert_equal expected, @after.codegen()
|
67
|
-
end
|
68
|
-
|
69
|
-
def test_codegen_within_1_step
|
70
|
-
@after = SkyDB::Query::AfterCondition.new(:action => 10, :within => {:quantity => 1, :unit => 'step'}, :function_name => "foo")
|
71
|
-
expected =
|
72
|
-
<<-BLOCK.unindent
|
73
|
-
function foo(cursor, data)
|
74
|
-
if cursor:eos() or cursor:eof() then return false end
|
75
|
-
remaining = 1
|
76
|
-
repeat
|
77
|
-
if remaining <= 0 then return false end
|
78
|
-
if cursor.event.action_id == 10 then
|
79
|
-
cursor:next()
|
80
|
-
return true
|
81
|
-
end
|
82
|
-
remaining = remaining - 1
|
83
|
-
until not cursor:next()
|
84
|
-
return false
|
85
|
-
end
|
86
|
-
BLOCK
|
87
|
-
assert_equal expected, @after.codegen()
|
88
|
-
end
|
89
|
-
end
|
data/test/unit/query/on_test.rb
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class TestQueryOnCondition < MiniTest::Unit::TestCase
|
4
|
-
##############################################################################
|
5
|
-
#
|
6
|
-
# Setup / Teardown
|
7
|
-
#
|
8
|
-
##############################################################################
|
9
|
-
|
10
|
-
def setup
|
11
|
-
@condition = SkyDB::Query::OnCondition.new()
|
12
|
-
end
|
13
|
-
|
14
|
-
|
15
|
-
##############################################################################
|
16
|
-
#
|
17
|
-
# Tests
|
18
|
-
#
|
19
|
-
##############################################################################
|
20
|
-
|
21
|
-
######################################
|
22
|
-
# Validation
|
23
|
-
######################################
|
24
|
-
|
25
|
-
def test_validate_action
|
26
|
-
e = assert_raises(SkyDB::Query::ValidationError) do
|
27
|
-
SkyDB::Query::OnCondition.new(:function_name => "foo").validate!
|
28
|
-
end
|
29
|
-
assert_match /^Action with non-zero identifier required/, e.message
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_validate_function_name
|
33
|
-
e = assert_raises(SkyDB::Query::ValidationError) do
|
34
|
-
SkyDB::Query::OnCondition.new(:action => 10).validate!
|
35
|
-
end
|
36
|
-
assert_match /^Invalid function name ''/, e.message
|
37
|
-
end
|
38
|
-
|
39
|
-
|
40
|
-
######################################
|
41
|
-
# Code Generation
|
42
|
-
######################################
|
43
|
-
|
44
|
-
def test_codegen
|
45
|
-
@condition = SkyDB::Query::OnCondition.new(:action => 10, :function_name => "foo")
|
46
|
-
expected =
|
47
|
-
<<-BLOCK.unindent
|
48
|
-
function foo(cursor, data)
|
49
|
-
if cursor:eos() or cursor:eof() then return false end
|
50
|
-
repeat
|
51
|
-
if cursor.event.action_id == 10 then
|
52
|
-
return true
|
53
|
-
end
|
54
|
-
until not cursor:next()
|
55
|
-
return false
|
56
|
-
end
|
57
|
-
BLOCK
|
58
|
-
assert_equal expected, @condition.codegen()
|
59
|
-
end
|
60
|
-
|
61
|
-
def test_codegen_enter
|
62
|
-
@condition = SkyDB::Query::OnCondition.new(:action => :enter, :function_name => "foo")
|
63
|
-
expected =
|
64
|
-
<<-BLOCK.unindent
|
65
|
-
function foo(cursor, data)
|
66
|
-
return (cursor.session_event_index == 0)
|
67
|
-
end
|
68
|
-
BLOCK
|
69
|
-
assert_equal expected, @condition.codegen()
|
70
|
-
end
|
71
|
-
end
|