forest_liana 3.0.0.pre.beta.5 → 3.0.0.pre.beta.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 757a3c707fa66f008436977190d45398cd935d54
4
- data.tar.gz: 3d3a6531dd76583ef9524389666c1c94fe38192f
3
+ metadata.gz: 1dafbedcb356fe7b3c787da79c40e7550f952863
4
+ data.tar.gz: 4708a4f20eb7ab73b8c47f1a228fc50537abfc7c
5
5
  SHA512:
6
- metadata.gz: c6cd904d8f57d61a9c4db6783e3e327a27e571b5653143ff55257322adbd27e14d0a333533321452f7f08fd57ce30f8ffa74b7044084b87ec568c999c8ce2d72
7
- data.tar.gz: 7f9692b30f5c4d84e83e1c974f10abc154e9be3d93b53c4ba2c0a7dbcdd49a0de5addd65532391cb47990dfd5df121a5754dfdd4bb0c8c7ac509b035aea2452b
6
+ metadata.gz: 142d9d3c080fbe34d66efee030a30bf2025192a26a98a1963e71c6063954785853eb679309d7e1935ffd60b6521548149ca86af0bdce59a237f35a47b6a98511
7
+ data.tar.gz: 0ff08167180f955e62b27a20648ac76f684f4bf2035be815b2d9a5d0b96047d65d8bfc8eb31e64df1074827f1f23fa14462a38c200f0fcc20c0484d1ea950346
@@ -6,14 +6,24 @@ module ForestLiana
6
6
  before_action :find_resource, except: [:get_with_live_query]
7
7
  end
8
8
 
9
+ CHART_TYPE_VALUE = 'Value';
10
+ CHART_TYPE_PIE = 'Pie';
11
+ CHART_TYPE_LINE = 'Line';
12
+ CHART_TYPE_LEADERBOARD = 'Leaderboard';
13
+ CHART_TYPE_OBJECTIVE = 'Objective';
14
+
9
15
  def get
10
- case params[:type].try(:downcase)
11
- when 'value'
16
+ case params[:type]
17
+ when CHART_TYPE_VALUE
12
18
  stat = ValueStatGetter.new(@resource, params)
13
- when 'pie'
19
+ when CHART_TYPE_PIE
14
20
  stat = PieStatGetter.new(@resource, params)
15
- when 'line'
21
+ when CHART_TYPE_LINE
16
22
  stat = LineStatGetter.new(@resource, params)
23
+ when CHART_TYPE_OBJECTIVE
24
+ stat = ObjectiveStatGetter.new(@resource, params)
25
+ when CHART_TYPE_LEADERBOARD
26
+ stat = LeaderboardStatGetter.new(@resource, params)
17
27
  end
18
28
 
19
29
  stat.perform
@@ -0,0 +1,45 @@
1
+ module ForestLiana
2
+ class LeaderboardStatGetter < StatGetter
3
+ def initialize(resource, params)
4
+ super(resource, params)
5
+
6
+ @model_relationship = @resource.reflect_on_association(@params[:relationship_field]).klass
7
+ @label_field = @params[:label_field]
8
+ @aggregate = @params[:aggregate].downcase
9
+ @aggregate_field = @params[:aggregate_field]
10
+ @limit = @params[:limit]
11
+ @groub_by = "#{@resource.table_name}.#{@label_field}"
12
+ end
13
+
14
+ def perform
15
+ result = @model_relationship
16
+ .joins(includes)
17
+ .group(@groub_by)
18
+ .order(order)
19
+ .limit(@limit)
20
+ .send(@aggregate, @aggregate_field)
21
+ .map { |key, value| { key: key, value: value } }
22
+
23
+ @record = Model::Stat.new(value: result)
24
+ end
25
+
26
+ def includes
27
+ SchemaUtils.one_associations(@model_relationship)
28
+ .select { |association| SchemaUtils.model_included?(association.klass) }
29
+ .map(&:name)
30
+ end
31
+
32
+ def order
33
+ order = 'DESC'
34
+
35
+ # NOTICE: The generated alias for a count is "count_all", for a sum the
36
+ # alias looks like "sum_#{aggregate_field}"
37
+ if @aggregate == 'sum'
38
+ field = @aggregate_field.downcase
39
+ else
40
+ field = 'all'
41
+ end
42
+ "#{@aggregate}_#{field} #{order}"
43
+ end
44
+ end
45
+ end
@@ -2,10 +2,6 @@ module ForestLiana
2
2
  class LineStatGetter < StatGetter
3
3
  attr_accessor :record
4
4
 
5
- def initialize(resource, params)
6
- super(resource, params)
7
- end
8
-
9
5
  def client_timezone
10
6
  @params[:timezone]
11
7
  end
@@ -0,0 +1,10 @@
1
+ module ForestLiana
2
+ class ObjectiveStatGetter < ValueStatGetter
3
+ attr_accessor :objective
4
+
5
+ def perform
6
+ super
7
+ @record.value = { value: @record.value[:countCurrent] }
8
+ end
9
+ end
10
+ end
@@ -2,6 +2,12 @@ module ForestLiana
2
2
  class QueryStatGetter
3
3
  attr_accessor :record
4
4
 
5
+ CHART_TYPE_VALUE = 'Value';
6
+ CHART_TYPE_PIE = 'Pie';
7
+ CHART_TYPE_LINE = 'Line';
8
+ CHART_TYPE_LEADERBOARD = 'Leaderboard';
9
+ CHART_TYPE_OBJECTIVE = 'Objective';
10
+
5
11
  def initialize(params)
6
12
  @params = params
7
13
  end
@@ -18,7 +24,7 @@ module ForestLiana
18
24
  result = ActiveRecord::Base.connection.execute(raw_query)
19
25
 
20
26
  case @params['type']
21
- when 'Value'
27
+ when CHART_TYPE_VALUE
22
28
  if result.count
23
29
  result_line = ForestLiana::AdapterHelper.format_live_query_value_result(result)
24
30
  if result_line
@@ -34,7 +40,7 @@ module ForestLiana
34
40
  @record = Model::Stat.new(value: { countCurrent: 0, countPrevious: 0 })
35
41
  end
36
42
  end
37
- when 'Pie'
43
+ when CHART_TYPE_PIE, CHART_TYPE_LEADERBOARD
38
44
  if result.count
39
45
  values = ForestLiana::AdapterHelper.format_live_query_pie_result(result)
40
46
 
@@ -46,7 +52,7 @@ module ForestLiana
46
52
 
47
53
  @record = Model::Stat.new(value: values)
48
54
  end
49
- when 'Line'
55
+ when CHART_TYPE_LINE
50
56
  if result.count
51
57
  values = ForestLiana::AdapterHelper.format_live_query_line_result(result)
52
58
 
@@ -62,6 +68,22 @@ module ForestLiana
62
68
 
63
69
  @record = Model::Stat.new(value: result_formatted)
64
70
  end
71
+ when CHART_TYPE_OBJECTIVE
72
+ if result.count
73
+ result_line = ForestLiana::AdapterHelper.format_live_query_value_result(result)
74
+ if result_line
75
+ if !result_line.key?('value') || !result_line.key?('objective')
76
+ raise error_message(result_line, "'value', 'objective'")
77
+ else
78
+ @record = Model::Stat.new(value: {
79
+ value: result_line['value'],
80
+ objective: result_line['objective']
81
+ })
82
+ end
83
+ else
84
+ @record = Model::Stat.new(value: { value: 0, objective: 0 })
85
+ end
86
+ end
65
87
  end
66
88
  end
67
89
 
@@ -111,6 +111,7 @@ module ForestLiana
111
111
  collection.fields << {
112
112
  field: :intercom_conversations,
113
113
  type: ['String'],
114
+ relationship: 'HasMany',
114
115
  reference: "#{model_name}_intercom_conversations.id",
115
116
  column: nil,
116
117
  is_filterable: false,
@@ -120,6 +121,7 @@ module ForestLiana
120
121
  collection.fields << {
121
122
  field: :intercom_attributes,
122
123
  type: 'String',
124
+ relationship: 'HasOne',
123
125
  reference: "#{model_name}_intercom_attributes.id",
124
126
  column: nil,
125
127
  is_filterable: false,
@@ -141,6 +143,7 @@ module ForestLiana
141
143
  collection.fields << {
142
144
  field: :stripe_payments,
143
145
  type: ['String'],
146
+ relationship: 'HasMany',
144
147
  reference: "#{model_name}_stripe_payments.id",
145
148
  column: nil,
146
149
  is_filterable: false,
@@ -150,6 +153,7 @@ module ForestLiana
150
153
  collection.fields << {
151
154
  field: :stripe_invoices,
152
155
  type: ['String'],
156
+ relationship: 'HasMany',
153
157
  reference: "#{model_name}_stripe_invoices.id",
154
158
  column: nil,
155
159
  is_filterable: false,
@@ -159,6 +163,7 @@ module ForestLiana
159
163
  collection.fields << {
160
164
  field: :stripe_cards,
161
165
  type: ['String'],
166
+ relationship: 'HasMany',
162
167
  reference: "#{model_name}_stripe_cards.id",
163
168
  column: nil,
164
169
  is_filterable: false,
@@ -168,6 +173,7 @@ module ForestLiana
168
173
  collection.fields << {
169
174
  field: :stripe_subscriptions,
170
175
  type: ['String'],
176
+ relationship: 'HasMany',
171
177
  reference: "#{model_name}_stripe_subscriptions.id",
172
178
  column: nil,
173
179
  is_filterable: false,
@@ -177,6 +183,7 @@ module ForestLiana
177
183
  collection.fields << {
178
184
  field: :stripe_bank_accounts,
179
185
  type: ['String'],
186
+ relationship: 'HasMany',
180
187
  reference: "#{model_name}_stripe_bank_accounts.id",
181
188
  column: nil,
182
189
  is_filterable: false,
@@ -199,6 +206,7 @@ module ForestLiana
199
206
  collection.fields << {
200
207
  field: :mixpanel_last_events,
201
208
  type: ['String'],
209
+ relationship: 'HasMany',
202
210
  reference: "#{model_name}_mixpanel_events.id",
203
211
  column: nil,
204
212
  is_filterable: false,
@@ -243,6 +251,7 @@ module ForestLiana
243
251
  field[:reference] = get_reference_for(association)
244
252
  field[:field] = association.name
245
253
  field[:inverse_of] = inverse_of(association)
254
+ field[:relationship] = get_relationship_type(association)
246
255
  # NOTICE: Create the fields of hasOne, HasMany, … relationships.
247
256
  else
248
257
  collection.fields << get_schema_for_association(association)
@@ -299,6 +308,7 @@ module ForestLiana
299
308
  {
300
309
  field: association.name.to_s,
301
310
  type: get_type_for_association(association),
311
+ relationship: get_relationship_type(association),
302
312
  reference: "#{ForestLiana.name_for(association.klass)}.id",
303
313
  inverse_of: inverse_of(association),
304
314
  is_filterable: !is_many_association(association),
@@ -314,6 +324,10 @@ module ForestLiana
314
324
  }
315
325
  end
316
326
 
327
+ def get_relationship_type(association)
328
+ association.macro.to_s.camelize
329
+ end
330
+
317
331
  def get_type_for(column)
318
332
  # NOTICE: Rails 3 do not have a defined_enums method
319
333
  if @model.respond_to?(:defined_enums) &&
@@ -388,6 +388,7 @@ module ForestLiana
388
388
  {
389
389
  field: :customer,
390
390
  type: 'String',
391
+ relationship: 'BelongsTo',
391
392
  reference: "#{model_name}.id",
392
393
  is_filterable: false
393
394
  }
@@ -428,6 +429,7 @@ module ForestLiana
428
429
  {
429
430
  field: :customer,
430
431
  type: 'String',
432
+ relationship: 'BelongsTo',
431
433
  reference: "#{model_name}.id",
432
434
  is_filterable: false
433
435
  }
@@ -463,6 +465,7 @@ module ForestLiana
463
465
  {
464
466
  field: :customer,
465
467
  type: 'String',
468
+ relationship: 'BelongsTo',
466
469
  reference: "#{model_name}.id",
467
470
  is_filterable: false
468
471
  }
@@ -496,6 +499,7 @@ module ForestLiana
496
499
  {
497
500
  field: :customer,
498
501
  type: 'String',
502
+ relationship: 'BelongsTo',
499
503
  reference: "#{model_name}.id",
500
504
  is_filterable: false
501
505
  }
@@ -528,6 +532,7 @@ module ForestLiana
528
532
  {
529
533
  field: :customer,
530
534
  type: 'String',
535
+ relationship: 'BelongsTo',
531
536
  reference: "#{model_name}.id",
532
537
  is_filterable: false
533
538
  }
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "3.0.0-beta.5"
2
+ VERSION = "3.0.0-beta.6"
3
3
  end
Binary file
@@ -118776,3 +118776,815 @@ ForestLiana::PieStatGetterTest: test_Pie_stat_getter_with_an_aggregate_on_a_fore
118776
118776
  ---------------------------------------------------------------------------------------
118777
118777
   (0.5ms) SELECT COUNT(DISTINCT "belongs_to_fields"."id") AS count_id, belongs_to_fields.has_one_field_id AS belongs_to_fields_has_one_field_id FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" GROUP BY belongs_to_fields.has_one_field_id ORDER BY count_id DESC
118778
118778
   (0.0ms) rollback transaction
118779
+ ActiveRecord::SchemaMigration Load (0.5ms) SELECT "schema_migrations".* FROM "schema_migrations"
118780
+  (0.3ms) begin transaction
118781
+ Fixture Delete (2.4ms) DELETE FROM "has_many_through_fields"
118782
+ Fixture Insert (2.2ms) INSERT INTO "has_many_through_fields" ("id") VALUES (1)
118783
+ Fixture Insert (0.2ms) INSERT INTO "has_many_through_fields" ("id") VALUES (2)
118784
+ Fixture Insert (0.1ms) INSERT INTO "has_many_through_fields" ("id") VALUES (3)
118785
+ Fixture Insert (0.1ms) INSERT INTO "has_many_through_fields" ("id") VALUES (4)
118786
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (5)
118787
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (6)
118788
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (7)
118789
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (8)
118790
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (9)
118791
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (10)
118792
+ Fixture Delete (0.5ms) DELETE FROM "string_fields"
118793
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (1, 'Test 1')
118794
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (2, 'Test 2')
118795
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (3, 'Test 3')
118796
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (4, 'Test 4')
118797
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (5, 'Test 5')
118798
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (6, 'Test 6')
118799
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (7, 'Test 7')
118800
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (8, 'Test 8')
118801
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (9, 'Test 9')
118802
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (10, 'Test 10')
118803
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (11, 'Test 11')
118804
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (12, 'Test 12')
118805
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (13, 'Test 13')
118806
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (14, 'Test 14')
118807
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (15, 'Test 15')
118808
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (16, 'Test 16')
118809
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (17, 'Test 17')
118810
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (18, 'Test 18')
118811
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (19, 'Test 19')
118812
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (20, 'Test 20')
118813
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (21, 'Test 21')
118814
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (22, 'Test 22')
118815
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (23, 'Test 23')
118816
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (24, 'Test 24')
118817
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (25, 'Test 25')
118818
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (26, 'Test 26')
118819
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (27, 'Test 27')
118820
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (28, 'Test 28')
118821
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (29, 'Test 29')
118822
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (30, 'Test 30')
118823
+ Fixture Delete (1.2ms) DELETE FROM "belongs_to_fields"
118824
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (1, 1, 1)
118825
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (2, 2, 1)
118826
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (3, 3, 1)
118827
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (4, 4, 2)
118828
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (5, 5, 2)
118829
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (6, 6, 2)
118830
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (7, 7, 3)
118831
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (8, 8, 3)
118832
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (9, 9, 3)
118833
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (10, 10, 4)
118834
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (11, 11, 4)
118835
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (12, 12, 4)
118836
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (13, 13, 5)
118837
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (14, 14, 5)
118838
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (15, 15, 5)
118839
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (16, 16, 6)
118840
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (17, 17, 6)
118841
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (18, 18, 6)
118842
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (19, 19, 7)
118843
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (20, 20, 7)
118844
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (21, 21, 7)
118845
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (22, 22, 7)
118846
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (23, 23, 8)
118847
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (24, 24, 8)
118848
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (25, 25, 9)
118849
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (26, 26, 9)
118850
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (27, 27, 9)
118851
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (28, 28, 10)
118852
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (29, 29, 10)
118853
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (30, 30, 10)
118854
+ Fixture Delete (6.6ms) DELETE FROM "trees"
118855
+ Fixture Insert (0.1ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (1, 'Oak', 1, '2012-02-11 11:00:00.000000', '2012-02-11 11:00:00.000000')
118856
+ Fixture Insert (0.1ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (2, 'Mapple', 2, '2012-02-15 21:00:00.000000', '2012-02-15 21:00:00.000000')
118857
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (3, 'Mapple', 2, '2014-04-11 12:00:00.000000', '2014-04-11 12:00:00.000000')
118858
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (4, 'Oak', 2, '2017-06-18 09:00:00.000000', '2017-06-18 09:00:00.000000')
118859
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (5, 'Oak', 3, '2016-06-18 09:00:00.000000', '2016-06-18 09:00:00.000000')
118860
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (6, 'Oak', 3, '2019-02-01 17:01:37.000000', '2019-02-01 17:01:37.000000')
118861
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (7, 'Sequoia', 1, '2019-02-01 17:01:37.000000', '2019-02-01 17:01:37.000000')
118862
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (8, 'Fir', 1, '2019-02-01 17:01:37.000000', '2019-02-01 17:01:37.000000')
118863
+ Fixture Delete (0.4ms) DELETE FROM "has_one_fields"
118864
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (1, 't', 0)
118865
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (2, 't', 0)
118866
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (3, 't', 0)
118867
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (4, 't', 0)
118868
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (5, 't', 0)
118869
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (6, 't', 0)
118870
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (7, 't', 0)
118871
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (8, 't', 0)
118872
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (9, 't', 0)
118873
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (10, 't', 0)
118874
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (11, 't', 0)
118875
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (12, 't', 0)
118876
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (13, 't', 0)
118877
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (14, 't', 0)
118878
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (15, 't', 0)
118879
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (16, 't', 0)
118880
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (17, 't', 0)
118881
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (18, 't', 0)
118882
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (19, 't', 0)
118883
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (20, 't', 0)
118884
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (21, 't', 0)
118885
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (22, 't', 0)
118886
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (23, 't', 0)
118887
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (24, 't', 0)
118888
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (25, 't', 0)
118889
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (26, 't', 0)
118890
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (27, 't', 0)
118891
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (28, 't', 0)
118892
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (29, 't', 0)
118893
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (30, 't', 1)
118894
+ Fixture Delete (0.5ms) DELETE FROM "references"
118895
+ Fixture Insert (0.1ms) INSERT INTO "references" ("id") VALUES (1)
118896
+ Fixture Delete (0.4ms) DELETE FROM "owners"
118897
+ Fixture Insert (0.1ms) INSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (1, 'Sandro Munda', '2018-05-30 09:00:00.000000', '2019-06-27 20:00:00.000000')
118898
+ Fixture Insert (0.2ms) INSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (2, 'Arnaud Besnier', '2019-05-02 09:00:00.000000', '2019-06-28 08:00:00.000000')
118899
+ Fixture Insert (0.1ms) INSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (3, 'John Doe', '2017-05-02 09:00:00.000000', '2018-06-28 08:00:00.000000')
118900
+ Fixture Delete (1.0ms) DELETE FROM "has_many_fields"
118901
+ Fixture Insert (0.1ms) INSERT INTO "has_many_fields" ("id") VALUES (1)
118902
+ Fixture Insert (0.1ms) INSERT INTO "has_many_fields" ("id") VALUES (2)
118903
+ Fixture Insert (0.1ms) INSERT INTO "has_many_fields" ("id") VALUES (3)
118904
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (4)
118905
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (5, 3)
118906
+ Fixture Insert (0.1ms) INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (6, 2)
118907
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (7)
118908
+ Fixture Insert (0.1ms) INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (8, 2)
118909
+ Fixture Insert (0.1ms) INSERT INTO "has_many_fields" ("id") VALUES (9)
118910
+ Fixture Insert (0.1ms) INSERT INTO "has_many_fields" ("id") VALUES (10)
118911
+ Fixture Delete (0.2ms) DELETE FROM "serialize_fields"
118912
+ Fixture Insert (0.1ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (1, 'value 1')
118913
+ Fixture Insert (0.1ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (2, 'value 2')
118914
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (3, 'value 3')
118915
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (4, 'value 4')
118916
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (5, 'value 5')
118917
+  (3.0ms) commit transaction
118918
+  (0.2ms) begin transaction
118919
+ -----------------------------------------------------------------
118920
+ ForestLiana::ResourcesGetterTest: test_StringField_page_1_size_15
118921
+ -----------------------------------------------------------------
118922
+ SQL (0.2ms) SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY "string_fields"."id" DESC LIMIT 15 OFFSET 0
118923
+  (0.1ms) SELECT COUNT(*) FROM "string_fields"
118924
+  (0.1ms) rollback transaction
118925
+  (0.0ms) begin transaction
118926
+ --------------------------------------------------------------------
118927
+ ForestLiana::ResourcesGetterTest: test_Sort_by_a_has_one_association
118928
+ --------------------------------------------------------------------
118929
+ SQL (0.9ms) SELECT "has_one_fields"."id" AS t0_r0, "has_one_fields"."checked" AS t0_r1, "has_one_fields"."status" AS t0_r2, "belongs_to_fields"."id" AS t1_r0, "belongs_to_fields"."has_one_field_id" AS t1_r1, "belongs_to_fields"."has_many_class_name_field_id" AS t1_r2, "belongs_to_fields"."has_many_field_id" AS t1_r3, "belongs_to_class_name_fields"."id" AS t2_r0, "belongs_to_class_name_fields"."foo_id" AS t2_r1 FROM "has_one_fields" LEFT OUTER JOIN "belongs_to_fields" ON "belongs_to_fields"."has_one_field_id" = "has_one_fields"."id" LEFT OUTER JOIN "belongs_to_class_name_fields" ON "belongs_to_class_name_fields"."foo_id" = "has_one_fields"."id" ORDER BY "belongs_to_fields"."id" DESC LIMIT 10 OFFSET 0
118930
+  (0.1ms) SELECT COUNT(DISTINCT "has_one_fields"."id") FROM "has_one_fields" LEFT OUTER JOIN "belongs_to_fields" ON "belongs_to_fields"."has_one_field_id" = "has_one_fields"."id" LEFT OUTER JOIN "belongs_to_class_name_fields" ON "belongs_to_class_name_fields"."foo_id" = "has_one_fields"."id"
118931
+  (0.1ms) rollback transaction
118932
+  (0.1ms) begin transaction
118933
+ -----------------------------------------------------------------------------
118934
+ ForestLiana::ResourcesGetterTest: test_Filter_on_a_field_that_does_not_exists
118935
+ -----------------------------------------------------------------------------
118936
+  (0.1ms) rollback transaction
118937
+  (0.2ms) begin transaction
118938
+ ------------------------------------------------------------------------------------------------------
118939
+ ForestLiana::ResourcesGetterTest: test_Filter_equal_on_an_updated_at_field_of_an_associated_collection
118940
+ ------------------------------------------------------------------------------------------------------
118941
+ SQL (0.3ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at = 'Sat Jul 02 2016 11:52:00 GMT-0400 (EDT)') ORDER BY "trees"."created_at" DESC LIMIT 10 OFFSET 0
118942
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at = 'Sat Jul 02 2016 11:52:00 GMT-0400 (EDT)')
118943
+  (0.0ms) rollback transaction
118944
+  (0.0ms) begin transaction
118945
+ -------------------------------------------------------------------------------------------
118946
+ ForestLiana::ResourcesGetterTest: test_Filter_on_an_updated_at_field_of_the_main_collection
118947
+ -------------------------------------------------------------------------------------------
118948
+ SQL (0.2ms) SELECT "owners"."id" AS t0_r0, "owners"."name" AS t0_r1, "owners"."created_at" AS t0_r2, "owners"."updated_at" AS t0_r3 FROM "owners" WHERE ("owners"."updated_at" BETWEEN '2018-01-01 09:00:00 UTC' AND '2019-01-01 08:59:59 UTC') ORDER BY "owners"."created_at" DESC LIMIT 10 OFFSET 0
118949
+  (0.1ms) SELECT COUNT(*) FROM "owners" WHERE ("owners"."updated_at" BETWEEN '2018-01-01 09:00:00 UTC' AND '2019-01-01 08:59:59 UTC')
118950
+  (0.1ms) rollback transaction
118951
+  (0.1ms) begin transaction
118952
+ ------------------------------------------------------------------------
118953
+ ForestLiana::ResourcesGetterTest: test_on_a_model_having_a_reserved_name
118954
+ ------------------------------------------------------------------------
118955
+ SQL (0.1ms) SELECT "references"."id" AS t0_r0 FROM "references" ORDER BY "references"."id" DESC LIMIT 10 OFFSET 0
118956
+  (0.1ms) SELECT COUNT(*) FROM "references"
118957
+  (0.1ms) rollback transaction
118958
+  (0.0ms) begin transaction
118959
+ ----------------------------------------------------------------
118960
+ ForestLiana::ResourcesGetterTest: test_Filter_on_ambiguous_field
118961
+ ----------------------------------------------------------------
118962
+ SQL (0.7ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE ("trees"."created_at" > '2015-06-18 08:00:00') AND (owners.name = 'Arnaud Besnier') ORDER BY "trees"."created_at" DESC LIMIT 10 OFFSET 0
118963
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE ("trees"."created_at" > '2015-06-18 08:00:00') AND (owners.name = 'Arnaud Besnier')
118964
+  (0.0ms) rollback transaction
118965
+  (0.0ms) begin transaction
118966
+ ------------------------------------------------------------------------------------------------
118967
+ ForestLiana::ResourcesGetterTest: test_Filter_on_an_updated_at_field_of_an_associated_collection
118968
+ ------------------------------------------------------------------------------------------------
118969
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at BETWEEN '2018-01-01 09:00:00 UTC' AND '2019-01-01 08:59:59 UTC') ORDER BY "trees"."created_at" DESC LIMIT 10 OFFSET 0
118970
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at BETWEEN '2018-01-01 09:00:00 UTC' AND '2019-01-01 08:59:59 UTC')
118971
+  (0.0ms) rollback transaction
118972
+  (0.0ms) begin transaction
118973
+ -----------------------------------------------------------------------
118974
+ ForestLiana::ResourcesGetterTest: test_Sort_by_a_belongs_to_association
118975
+ -----------------------------------------------------------------------
118976
+ SQL (0.2ms) SELECT "belongs_to_fields"."id" AS t0_r0, "belongs_to_fields"."has_one_field_id" AS t0_r1, "belongs_to_fields"."has_many_class_name_field_id" AS t0_r2, "belongs_to_fields"."has_many_field_id" AS t0_r3, "has_one_fields"."id" AS t1_r0, "has_one_fields"."checked" AS t1_r1, "has_one_fields"."status" AS t1_r2, "has_many_fields"."id" AS t2_r0, "has_many_fields"."has_many_through_field_id" AS t2_r1, "has_many_class_name_fields"."id" AS t3_r0 FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" ORDER BY "has_one_fields"."id" ASC LIMIT 10 OFFSET 0
118977
+  (0.1ms) SELECT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id"
118978
+  (0.0ms) rollback transaction
118979
+  (0.0ms) begin transaction
118980
+ --------------------------------------------------------------------------------------------------------
118981
+ ForestLiana::ResourcesGetterTest: test_Filter_on_a_field_of_an_associated_collection_that_does_not_exist
118982
+ --------------------------------------------------------------------------------------------------------
118983
+  (0.0ms) rollback transaction
118984
+  (0.1ms) begin transaction
118985
+ ----------------------------------------------------------------
118986
+ ForestLiana::ResourcesGetterTest: test_StringField_sort_by_field
118987
+ ----------------------------------------------------------------
118988
+ SQL (0.1ms) SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY "string_fields"."field" DESC LIMIT 10 OFFSET 0
118989
+  (0.0ms) SELECT COUNT(*) FROM "string_fields"
118990
+  (0.0ms) rollback transaction
118991
+  (0.0ms) begin transaction
118992
+ ------------------------------------------------------------
118993
+ ForestLiana::ResourcesGetterTest: test_Filter_before_x_hours
118994
+ ------------------------------------------------------------
118995
+ SQL (0.1ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4 FROM "trees" WHERE ("trees"."created_at" < '2019-02-01 17:00:38 UTC') ORDER BY "trees"."created_at" DESC LIMIT 10 OFFSET 0
118996
+  (0.0ms) SELECT COUNT(*) FROM "trees" WHERE ("trees"."created_at" < '2019-02-01 17:00:38 UTC')
118997
+ Owner Load (0.2ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 2]]
118998
+  (0.1ms) rollback transaction
118999
+  (0.1ms) begin transaction
119000
+ -----------------------------------------------------------------
119001
+ ForestLiana::ResourcesGetterTest: test_StringField_page_2_size_10
119002
+ -----------------------------------------------------------------
119003
+ SQL (0.2ms) SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY "string_fields"."id" DESC LIMIT 10 OFFSET 10
119004
+  (0.0ms) SELECT COUNT(*) FROM "string_fields"
119005
+  (0.0ms) rollback transaction
119006
+  (0.0ms) begin transaction
119007
+ ------------------------------------------------------------------------------------
119008
+ ForestLiana::ResourcesGetterTest: test_Sort_on_an_ambiguous_field_name_with_a_filter
119009
+ ------------------------------------------------------------------------------------
119010
+ SQL (0.5ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.name = 'Arnaud Besnier') ORDER BY "trees"."name" DESC LIMIT 10 OFFSET 0
119011
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.name = 'Arnaud Besnier')
119012
+  (0.0ms) rollback transaction
119013
+  (0.0ms) begin transaction
119014
+ ----------------------------------------------------------
119015
+ ForestLiana::ResourcesGetterTest: test_Filter_after_x_days
119016
+ ----------------------------------------------------------
119017
+ SQL (0.1ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4 FROM "trees" WHERE ("trees"."created_at" > '2019-02-01 17:00:38 UTC') ORDER BY "trees"."created_at" DESC LIMIT 10 OFFSET 0
119018
+  (0.0ms) SELECT COUNT(*) FROM "trees" WHERE ("trees"."created_at" > '2019-02-01 17:00:38 UTC')
119019
+  (0.0ms) rollback transaction
119020
+  (0.0ms) begin transaction
119021
+ -------------------------------------------------------------------------------------------------
119022
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_enum_field
119023
+ -------------------------------------------------------------------------------------------------
119024
+  (0.2ms) SELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."status" = '1')
119025
+  (0.1ms) rollback transaction
119026
+  (0.0ms) begin transaction
119027
+ ----------------------------------------------------------------------------------------------------
119028
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_boolean_field
119029
+ ----------------------------------------------------------------------------------------------------
119030
+  (0.2ms) SELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."checked" = 0)
119031
+  (0.0ms) rollback transaction
119032
+  (0.0ms) begin transaction
119033
+ ----------------------------------------------------------------------------------------------------
119034
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_integer_field
119035
+ ----------------------------------------------------------------------------------------------------
119036
+  (0.2ms) SELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."id" = '3')
119037
+  (0.0ms) rollback transaction
119038
+  (0.0ms) begin transaction
119039
+ -----------------------------------------------------------------------------
119040
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_simple_filter
119041
+ -----------------------------------------------------------------------------
119042
+  (0.6ms) SELECT DISTINCT COUNT(DISTINCT "boolean_fields"."id") FROM "boolean_fields" WHERE ("boolean_fields"."field" = 1)
119043
+  (0.1ms) rollback transaction
119044
+  (0.0ms) begin transaction
119045
+ ---------------------------
119046
+ ForestLianaTest: test_truth
119047
+ ---------------------------
119048
+  (0.0ms) rollback transaction
119049
+  (0.0ms) begin transaction
119050
+ -----------------------------------------------------------------------------------------
119051
+ ForestLiana::PieStatGetterTest: test_Pie_stat_getter_with_an_aggregate_on_a_boolean_field
119052
+ -----------------------------------------------------------------------------------------
119053
+  (0.3ms) SELECT COUNT(*) AS count_all, boolean_fields.field AS boolean_fields_field FROM "boolean_fields" GROUP BY boolean_fields.field ORDER BY count_all DESC
119054
+  (0.1ms) rollback transaction
119055
+  (0.0ms) begin transaction
119056
+ ---------------------------------------------------------------------------------------
119057
+ ForestLiana::PieStatGetterTest: test_Pie_stat_getter_with_an_aggregate_on_a_foreign_key
119058
+ ---------------------------------------------------------------------------------------
119059
+  (1.0ms) SELECT COUNT(DISTINCT "belongs_to_fields"."id") AS count_id, belongs_to_fields.has_one_field_id AS belongs_to_fields_has_one_field_id FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" GROUP BY belongs_to_fields.has_one_field_id ORDER BY count_id DESC
119060
+  (0.1ms) rollback transaction
119061
+  (0.0ms) begin transaction
119062
+ ------------------------------------------------------------------
119063
+ ForestLiana::HasManyGetterTest: test_HasMany_Getter_page_1_size_15
119064
+ ------------------------------------------------------------------
119065
+ Owner Load (0.1ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 1]]
119066
+  (0.3ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? [["owner_id", 1]]
119067
+  (0.2ms) SELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? LIMIT 15 OFFSET 0) subquery_for_count [["owner_id", 1]]
119068
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? ORDER BY "trees"."id" ASC LIMIT 1 OFFSET 0 [["owner_id", 1]]
119069
+  (0.1ms) rollback transaction
119070
+  (0.1ms) begin transaction
119071
+ -------------------------------------------------------------------------
119072
+ ForestLiana::HasManyGetterTest: test_HasMany_Getter_with_search_parameter
119073
+ -------------------------------------------------------------------------
119074
+ Owner Load (0.4ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 1]]
119075
+  (0.6ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') [["owner_id", 1]]
119076
+  (0.2ms) SELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') LIMIT 15 OFFSET 0) subquery_for_count [["owner_id", 1]]
119077
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') ORDER BY "trees"."id" ASC LIMIT 1 OFFSET 0 [["owner_id", 1]]
119078
+  (0.1ms) rollback transaction
119079
+  (0.0ms) begin transaction
119080
+ -----------------------------------------------------------------------
119081
+ ForestLiana::HasManyGetterTest: test_HasMany_Getter_with_sort_parameter
119082
+ -----------------------------------------------------------------------
119083
+ Owner Load (0.1ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 1]]
119084
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? [["owner_id", 1]]
119085
+  (0.1ms) SELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? LIMIT 15 OFFSET 0) subquery_for_count [["owner_id", 1]]
119086
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? ORDER BY trees.id DESC LIMIT 1 OFFSET 0 [["owner_id", 1]]
119087
+  (0.1ms) rollback transaction
119088
+  (0.1ms) begin transaction
119089
+ ---------------------------------------------------------------------------------------------------------
119090
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_bad_format_value
119091
+ ---------------------------------------------------------------------------------------------------------
119092
+ SerializeField Load (0.2ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
119093
+  (0.1ms) rollback transaction
119094
+  (0.1ms) begin transaction
119095
+ ------------------------------------------------------------------------------------------------------------
119096
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_well_formated_value
119097
+ ------------------------------------------------------------------------------------------------------------
119098
+ SerializeField Load (0.1ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
119099
+  (0.1ms) SAVEPOINT active_record_1
119100
+ SQL (0.5ms) UPDATE "serialize_fields" SET "field" = ? WHERE "serialize_fields"."id" = ? [["field", "---\n- test\n- test\n"], ["id", 1]]
119101
+  (0.1ms) RELEASE SAVEPOINT active_record_1
119102
+  (0.7ms) rollback transaction
119103
+  (0.0ms) begin transaction
119104
+ ---------------------------------------------------------------------------------------------------
119105
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_null_value
119106
+ ---------------------------------------------------------------------------------------------------
119107
+ SerializeField Load (0.1ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
119108
+  (0.0ms) SAVEPOINT active_record_1
119109
+ SQL (0.2ms) UPDATE "serialize_fields" SET "field" = ? WHERE "serialize_fields"."id" = ? [["field", nil], ["id", 1]]
119110
+  (0.0ms) RELEASE SAVEPOINT active_record_1
119111
+  (0.3ms) rollback transaction
119112
+  (0.1ms) begin transaction
119113
+ ------------------------------------------------------------------------------------------------------
119114
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_missing_value
119115
+ ------------------------------------------------------------------------------------------------------
119116
+ SerializeField Load (0.1ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
119117
+  (0.0ms) SAVEPOINT active_record_1
119118
+  (0.0ms) RELEASE SAVEPOINT active_record_1
119119
+  (0.0ms) rollback transaction
119120
+  (0.1ms) begin transaction
119121
+ -----------------------------------
119122
+ ForestLiana::RouteTest: test_Routes
119123
+ -----------------------------------
119124
+  (0.1ms) rollback transaction
119125
+  (0.0ms) begin transaction
119126
+ --------------------------------------------------------------------------
119127
+ ForestLiana::SchemaAdapterTest: test_Decimal_should_have_the_type_`Number`
119128
+ --------------------------------------------------------------------------
119129
+  (0.0ms) rollback transaction
119130
+  (0.0ms) begin transaction
119131
+ -------------------------------------------------------------------------
119132
+ ForestLiana::SchemaAdapterTest: test_DateTime_should_have_the_type_`Date`
119133
+ -------------------------------------------------------------------------
119134
+  (0.1ms) rollback transaction
119135
+  (0.0ms) begin transaction
119136
+ --------------------------------------------------------------------------
119137
+ ForestLiana::SchemaAdapterTest: test_Integer_should_have_the_type_`Number`
119138
+ --------------------------------------------------------------------------
119139
+  (0.0ms) rollback transaction
119140
+  (0.0ms) begin transaction
119141
+ ---------------------------------------------------------------------
119142
+ ForestLiana::SchemaAdapterTest: test_Date_should_have_the_type_`Date`
119143
+ ---------------------------------------------------------------------
119144
+  (0.0ms) rollback transaction
119145
+  (0.0ms) begin transaction
119146
+ ---------------------------------------------------------
119147
+ ForestLiana::SchemaAdapterTest: test_hasMany_relationship
119148
+ ---------------------------------------------------------
119149
+  (0.0ms) rollback transaction
119150
+  (0.0ms) begin transaction
119151
+ ------------------------------------------------------------------------
119152
+ ForestLiana::SchemaAdapterTest: test_Float_should_have_the_type_`Number`
119153
+ ------------------------------------------------------------------------
119154
+  (0.0ms) rollback transaction
119155
+  (0.0ms) begin transaction
119156
+ ----------------------------------------------------------------------------------
119157
+ ForestLiana::SchemaAdapterTest: test_hasMany_relationhip_with_specified_class_name
119158
+ ----------------------------------------------------------------------------------
119159
+  (0.1ms) rollback transaction
119160
+  (0.1ms) begin transaction
119161
+ -------------------------------------------------------------------------
119162
+ ForestLiana::SchemaAdapterTest: test_String_should_have_the_type_`String`
119163
+ -------------------------------------------------------------------------
119164
+  (0.0ms) rollback transaction
119165
+  (0.0ms) begin transaction
119166
+ --------------------------------------------------------
119167
+ ForestLiana::SchemaAdapterTest: test_hasOne_relationship
119168
+ --------------------------------------------------------
119169
+  (0.1ms) rollback transaction
119170
+  (0.1ms) begin transaction
119171
+ -----------------------------------------------------------
119172
+ ForestLiana::SchemaAdapterTest: test_belongsTo_relationship
119173
+ -----------------------------------------------------------
119174
+  (0.1ms) rollback transaction
119175
+  (0.1ms) begin transaction
119176
+ ------------------------------------------------------------------------------------
119177
+ ForestLiana::SchemaAdapterTest: test_belongsTo_relationhip_with_specified_class_name
119178
+ ------------------------------------------------------------------------------------
119179
+  (0.1ms) rollback transaction
119180
+  (0.0ms) begin transaction
119181
+ ---------------------------------------------------------------------------
119182
+ ForestLiana::SchemaAdapterTest: test_Boolean_should_have_the_type_`Boolean`
119183
+ ---------------------------------------------------------------------------
119184
+  (0.0ms) rollback transaction
119185
+ ActiveRecord::SchemaMigration Load (0.7ms) SELECT "schema_migrations".* FROM "schema_migrations"
119186
+  (0.1ms) begin transaction
119187
+ Fixture Delete (0.8ms) DELETE FROM "has_many_through_fields"
119188
+ Fixture Insert (0.5ms) INSERT INTO "has_many_through_fields" ("id") VALUES (1)
119189
+ Fixture Insert (0.1ms) INSERT INTO "has_many_through_fields" ("id") VALUES (2)
119190
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (3)
119191
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (4)
119192
+ Fixture Insert (0.1ms) INSERT INTO "has_many_through_fields" ("id") VALUES (5)
119193
+ Fixture Insert (0.1ms) INSERT INTO "has_many_through_fields" ("id") VALUES (6)
119194
+ Fixture Insert (0.1ms) INSERT INTO "has_many_through_fields" ("id") VALUES (7)
119195
+ Fixture Insert (0.1ms) INSERT INTO "has_many_through_fields" ("id") VALUES (8)
119196
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (9)
119197
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (10)
119198
+ Fixture Delete (1.1ms) DELETE FROM "string_fields"
119199
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (1, 'Test 1')
119200
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (2, 'Test 2')
119201
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (3, 'Test 3')
119202
+ Fixture Insert (0.2ms) INSERT INTO "string_fields" ("id", "field") VALUES (4, 'Test 4')
119203
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (5, 'Test 5')
119204
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (6, 'Test 6')
119205
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (7, 'Test 7')
119206
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (8, 'Test 8')
119207
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (9, 'Test 9')
119208
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (10, 'Test 10')
119209
+ Fixture Insert (0.3ms) INSERT INTO "string_fields" ("id", "field") VALUES (11, 'Test 11')
119210
+ Fixture Insert (0.6ms) INSERT INTO "string_fields" ("id", "field") VALUES (12, 'Test 12')
119211
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (13, 'Test 13')
119212
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (14, 'Test 14')
119213
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (15, 'Test 15')
119214
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (16, 'Test 16')
119215
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (17, 'Test 17')
119216
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (18, 'Test 18')
119217
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (19, 'Test 19')
119218
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (20, 'Test 20')
119219
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (21, 'Test 21')
119220
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (22, 'Test 22')
119221
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (23, 'Test 23')
119222
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (24, 'Test 24')
119223
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (25, 'Test 25')
119224
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (26, 'Test 26')
119225
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (27, 'Test 27')
119226
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (28, 'Test 28')
119227
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (29, 'Test 29')
119228
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (30, 'Test 30')
119229
+ Fixture Delete (1.2ms) DELETE FROM "belongs_to_fields"
119230
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (1, 1, 1)
119231
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (2, 2, 1)
119232
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (3, 3, 1)
119233
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (4, 4, 2)
119234
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (5, 5, 2)
119235
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (6, 6, 2)
119236
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (7, 7, 3)
119237
+ Fixture Insert (0.2ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (8, 8, 3)
119238
+ Fixture Insert (0.2ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (9, 9, 3)
119239
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (10, 10, 4)
119240
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (11, 11, 4)
119241
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (12, 12, 4)
119242
+ Fixture Insert (0.2ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (13, 13, 5)
119243
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (14, 14, 5)
119244
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (15, 15, 5)
119245
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (16, 16, 6)
119246
+ Fixture Insert (0.3ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (17, 17, 6)
119247
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (18, 18, 6)
119248
+ Fixture Insert (0.2ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (19, 19, 7)
119249
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (20, 20, 7)
119250
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (21, 21, 7)
119251
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (22, 22, 7)
119252
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (23, 23, 8)
119253
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (24, 24, 8)
119254
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (25, 25, 9)
119255
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (26, 26, 9)
119256
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (27, 27, 9)
119257
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (28, 28, 10)
119258
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (29, 29, 10)
119259
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (30, 30, 10)
119260
+ Fixture Delete (0.8ms) DELETE FROM "trees"
119261
+ Fixture Insert (0.1ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (1, 'Oak', 1, '2012-02-11 11:00:00.000000', '2012-02-11 11:00:00.000000')
119262
+ Fixture Insert (0.1ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (2, 'Mapple', 2, '2012-02-15 21:00:00.000000', '2012-02-15 21:00:00.000000')
119263
+ Fixture Insert (0.1ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (3, 'Mapple', 2, '2014-04-11 12:00:00.000000', '2014-04-11 12:00:00.000000')
119264
+ Fixture Insert (0.2ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (4, 'Oak', 2, '2017-06-18 09:00:00.000000', '2017-06-18 09:00:00.000000')
119265
+ Fixture Insert (0.1ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (5, 'Oak', 3, '2016-06-18 09:00:00.000000', '2016-06-18 09:00:00.000000')
119266
+ Fixture Insert (0.6ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (6, 'Oak', 3, '2019-02-01 17:42:45.000000', '2019-02-01 17:42:45.000000')
119267
+ Fixture Insert (0.2ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (7, 'Sequoia', 1, '2019-02-01 17:42:45.000000', '2019-02-01 17:42:45.000000')
119268
+ Fixture Insert (0.1ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (8, 'Fir', 1, '2019-02-01 17:42:45.000000', '2019-02-01 17:42:45.000000')
119269
+ Fixture Delete (0.7ms) DELETE FROM "has_one_fields"
119270
+ Fixture Insert (0.3ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (1, 't', 0)
119271
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (2, 't', 0)
119272
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (3, 't', 0)
119273
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (4, 't', 0)
119274
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (5, 't', 0)
119275
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (6, 't', 0)
119276
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (7, 't', 0)
119277
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (8, 't', 0)
119278
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (9, 't', 0)
119279
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (10, 't', 0)
119280
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (11, 't', 0)
119281
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (12, 't', 0)
119282
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (13, 't', 0)
119283
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (14, 't', 0)
119284
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (15, 't', 0)
119285
+ Fixture Insert (0.2ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (16, 't', 0)
119286
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (17, 't', 0)
119287
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (18, 't', 0)
119288
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (19, 't', 0)
119289
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (20, 't', 0)
119290
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (21, 't', 0)
119291
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (22, 't', 0)
119292
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (23, 't', 0)
119293
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (24, 't', 0)
119294
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (25, 't', 0)
119295
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (26, 't', 0)
119296
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (27, 't', 0)
119297
+ Fixture Insert (1.8ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (28, 't', 0)
119298
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (29, 't', 0)
119299
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (30, 't', 1)
119300
+ Fixture Delete (0.4ms) DELETE FROM "references"
119301
+ Fixture Insert (0.1ms) INSERT INTO "references" ("id") VALUES (1)
119302
+ Fixture Delete (0.3ms) DELETE FROM "owners"
119303
+ Fixture Insert (0.1ms) INSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (1, 'Sandro Munda', '2018-05-30 09:00:00.000000', '2019-06-27 20:00:00.000000')
119304
+ Fixture Insert (0.0ms) INSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (2, 'Arnaud Besnier', '2019-05-02 09:00:00.000000', '2019-06-28 08:00:00.000000')
119305
+ Fixture Insert (0.0ms) INSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (3, 'John Doe', '2017-05-02 09:00:00.000000', '2018-06-28 08:00:00.000000')
119306
+ Fixture Delete (0.6ms) DELETE FROM "has_many_fields"
119307
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (1)
119308
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (2)
119309
+ Fixture Insert (0.1ms) INSERT INTO "has_many_fields" ("id") VALUES (3)
119310
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (4)
119311
+ Fixture Insert (0.1ms) INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (5, 3)
119312
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (6, 2)
119313
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (7)
119314
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (8, 2)
119315
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (9)
119316
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (10)
119317
+ Fixture Delete (0.1ms) DELETE FROM "serialize_fields"
119318
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (1, 'value 1')
119319
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (2, 'value 2')
119320
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (3, 'value 3')
119321
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (4, 'value 4')
119322
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (5, 'value 5')
119323
+  (2.2ms) commit transaction
119324
+  (0.0ms) begin transaction
119325
+ -----------------------------------------------------------------------------------------
119326
+ ForestLiana::PieStatGetterTest: test_Pie_stat_getter_with_an_aggregate_on_a_boolean_field
119327
+ -----------------------------------------------------------------------------------------
119328
+  (0.4ms) SELECT COUNT(*) AS count_all, boolean_fields.field AS boolean_fields_field FROM "boolean_fields" GROUP BY boolean_fields.field ORDER BY count_all DESC
119329
+  (0.1ms) rollback transaction
119330
+  (0.0ms) begin transaction
119331
+ ---------------------------------------------------------------------------------------
119332
+ ForestLiana::PieStatGetterTest: test_Pie_stat_getter_with_an_aggregate_on_a_foreign_key
119333
+ ---------------------------------------------------------------------------------------
119334
+  (0.5ms) SELECT COUNT(DISTINCT "belongs_to_fields"."id") AS count_id, belongs_to_fields.has_one_field_id AS belongs_to_fields_has_one_field_id FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" GROUP BY belongs_to_fields.has_one_field_id ORDER BY count_id DESC
119335
+  (0.0ms) rollback transaction
119336
+  (0.0ms) begin transaction
119337
+ -------------------------------------------------------------------------
119338
+ ForestLiana::HasManyGetterTest: test_HasMany_Getter_with_search_parameter
119339
+ -------------------------------------------------------------------------
119340
+ Owner Load (0.2ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 1]]
119341
+  (0.7ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') [["owner_id", 1]]
119342
+  (0.4ms) SELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') LIMIT 15 OFFSET 0) subquery_for_count [["owner_id", 1]]
119343
+ SQL (1.4ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') ORDER BY "trees"."id" ASC LIMIT 1 OFFSET 0 [["owner_id", 1]]
119344
+  (0.1ms) rollback transaction
119345
+  (0.4ms) begin transaction
119346
+ ------------------------------------------------------------------
119347
+ ForestLiana::HasManyGetterTest: test_HasMany_Getter_page_1_size_15
119348
+ ------------------------------------------------------------------
119349
+ Owner Load (0.1ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 1]]
119350
+  (2.9ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? [["owner_id", 1]]
119351
+  (0.2ms) SELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? LIMIT 15 OFFSET 0) subquery_for_count [["owner_id", 1]]
119352
+ SQL (0.1ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? ORDER BY "trees"."id" ASC LIMIT 1 OFFSET 0 [["owner_id", 1]]
119353
+  (0.1ms) rollback transaction
119354
+  (0.1ms) begin transaction
119355
+ -----------------------------------------------------------------------
119356
+ ForestLiana::HasManyGetterTest: test_HasMany_Getter_with_sort_parameter
119357
+ -----------------------------------------------------------------------
119358
+ Owner Load (0.1ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 1]]
119359
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? [["owner_id", 1]]
119360
+  (0.1ms) SELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? LIMIT 15 OFFSET 0) subquery_for_count [["owner_id", 1]]
119361
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? ORDER BY trees.id DESC LIMIT 1 OFFSET 0 [["owner_id", 1]]
119362
+  (0.1ms) rollback transaction
119363
+  (0.0ms) begin transaction
119364
+ -------------------------------------------------------------------------------------------------
119365
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_enum_field
119366
+ -------------------------------------------------------------------------------------------------
119367
+  (0.4ms) SELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."status" = '1')
119368
+  (0.1ms) rollback transaction
119369
+  (0.1ms) begin transaction
119370
+ ----------------------------------------------------------------------------------------------------
119371
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_boolean_field
119372
+ ----------------------------------------------------------------------------------------------------
119373
+  (0.2ms) SELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."checked" = 0)
119374
+  (0.0ms) rollback transaction
119375
+  (0.0ms) begin transaction
119376
+ ----------------------------------------------------------------------------------------------------
119377
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_integer_field
119378
+ ----------------------------------------------------------------------------------------------------
119379
+  (0.2ms) SELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."id" = '3')
119380
+  (0.0ms) rollback transaction
119381
+  (0.0ms) begin transaction
119382
+ -----------------------------------------------------------------------------
119383
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_simple_filter
119384
+ -----------------------------------------------------------------------------
119385
+  (0.1ms) SELECT DISTINCT COUNT(DISTINCT "boolean_fields"."id") FROM "boolean_fields" WHERE ("boolean_fields"."field" = 1)
119386
+  (0.0ms) rollback transaction
119387
+  (0.0ms) begin transaction
119388
+ ----------------------------------------------------------------------------------
119389
+ ForestLiana::SchemaAdapterTest: test_hasMany_relationhip_with_specified_class_name
119390
+ ----------------------------------------------------------------------------------
119391
+  (0.1ms) rollback transaction
119392
+  (0.1ms) begin transaction
119393
+ ------------------------------------------------------------------------------------
119394
+ ForestLiana::SchemaAdapterTest: test_belongsTo_relationhip_with_specified_class_name
119395
+ ------------------------------------------------------------------------------------
119396
+  (0.1ms) rollback transaction
119397
+  (0.0ms) begin transaction
119398
+ --------------------------------------------------------
119399
+ ForestLiana::SchemaAdapterTest: test_hasOne_relationship
119400
+ --------------------------------------------------------
119401
+  (0.0ms) rollback transaction
119402
+  (0.0ms) begin transaction
119403
+ ---------------------------------------------------------------------
119404
+ ForestLiana::SchemaAdapterTest: test_Date_should_have_the_type_`Date`
119405
+ ---------------------------------------------------------------------
119406
+  (0.1ms) rollback transaction
119407
+  (0.1ms) begin transaction
119408
+ ---------------------------------------------------------
119409
+ ForestLiana::SchemaAdapterTest: test_hasMany_relationship
119410
+ ---------------------------------------------------------
119411
+  (0.0ms) rollback transaction
119412
+  (0.1ms) begin transaction
119413
+ ------------------------------------------------------------------------
119414
+ ForestLiana::SchemaAdapterTest: test_Float_should_have_the_type_`Number`
119415
+ ------------------------------------------------------------------------
119416
+  (0.1ms) rollback transaction
119417
+  (0.1ms) begin transaction
119418
+ --------------------------------------------------------------------------
119419
+ ForestLiana::SchemaAdapterTest: test_Integer_should_have_the_type_`Number`
119420
+ --------------------------------------------------------------------------
119421
+  (0.1ms) rollback transaction
119422
+  (0.1ms) begin transaction
119423
+ ---------------------------------------------------------------------------
119424
+ ForestLiana::SchemaAdapterTest: test_Boolean_should_have_the_type_`Boolean`
119425
+ ---------------------------------------------------------------------------
119426
+  (0.0ms) rollback transaction
119427
+  (0.1ms) begin transaction
119428
+ --------------------------------------------------------------------------
119429
+ ForestLiana::SchemaAdapterTest: test_Decimal_should_have_the_type_`Number`
119430
+ --------------------------------------------------------------------------
119431
+  (0.0ms) rollback transaction
119432
+  (0.0ms) begin transaction
119433
+ -----------------------------------------------------------
119434
+ ForestLiana::SchemaAdapterTest: test_belongsTo_relationship
119435
+ -----------------------------------------------------------
119436
+  (0.1ms) rollback transaction
119437
+  (0.0ms) begin transaction
119438
+ -------------------------------------------------------------------------
119439
+ ForestLiana::SchemaAdapterTest: test_String_should_have_the_type_`String`
119440
+ -------------------------------------------------------------------------
119441
+  (0.0ms) rollback transaction
119442
+  (0.0ms) begin transaction
119443
+ -------------------------------------------------------------------------
119444
+ ForestLiana::SchemaAdapterTest: test_DateTime_should_have_the_type_`Date`
119445
+ -------------------------------------------------------------------------
119446
+  (0.0ms) rollback transaction
119447
+  (0.0ms) begin transaction
119448
+ ---------------------------
119449
+ ForestLianaTest: test_truth
119450
+ ---------------------------
119451
+  (0.0ms) rollback transaction
119452
+  (0.0ms) begin transaction
119453
+ ------------------------------------------------------------------------
119454
+ ForestLiana::ResourcesGetterTest: test_on_a_model_having_a_reserved_name
119455
+ ------------------------------------------------------------------------
119456
+ SQL (0.1ms) SELECT "references"."id" AS t0_r0 FROM "references" ORDER BY "references"."id" DESC LIMIT 10 OFFSET 0
119457
+  (0.0ms) SELECT COUNT(*) FROM "references"
119458
+  (0.0ms) rollback transaction
119459
+  (0.1ms) begin transaction
119460
+ --------------------------------------------------------------------------------------------------------
119461
+ ForestLiana::ResourcesGetterTest: test_Filter_on_a_field_of_an_associated_collection_that_does_not_exist
119462
+ --------------------------------------------------------------------------------------------------------
119463
+  (0.0ms) rollback transaction
119464
+  (0.1ms) begin transaction
119465
+ ------------------------------------------------------------
119466
+ ForestLiana::ResourcesGetterTest: test_Filter_before_x_hours
119467
+ ------------------------------------------------------------
119468
+ SQL (0.4ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4 FROM "trees" WHERE ("trees"."created_at" < '2019-02-01 17:41:45 UTC') ORDER BY "trees"."created_at" DESC LIMIT 10 OFFSET 0
119469
+  (0.1ms) SELECT COUNT(*) FROM "trees" WHERE ("trees"."created_at" < '2019-02-01 17:41:45 UTC')
119470
+ Owner Load (0.1ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 2]]
119471
+  (0.2ms) rollback transaction
119472
+  (0.0ms) begin transaction
119473
+ -------------------------------------------------------------------------------------------
119474
+ ForestLiana::ResourcesGetterTest: test_Filter_on_an_updated_at_field_of_the_main_collection
119475
+ -------------------------------------------------------------------------------------------
119476
+ SQL (0.2ms) SELECT "owners"."id" AS t0_r0, "owners"."name" AS t0_r1, "owners"."created_at" AS t0_r2, "owners"."updated_at" AS t0_r3 FROM "owners" WHERE ("owners"."updated_at" BETWEEN '2018-01-01 09:00:00 UTC' AND '2019-01-01 08:59:59 UTC') ORDER BY "owners"."created_at" DESC LIMIT 10 OFFSET 0
119477
+  (0.2ms) SELECT COUNT(*) FROM "owners" WHERE ("owners"."updated_at" BETWEEN '2018-01-01 09:00:00 UTC' AND '2019-01-01 08:59:59 UTC')
119478
+  (0.0ms) rollback transaction
119479
+  (0.1ms) begin transaction
119480
+ -----------------------------------------------------------------------
119481
+ ForestLiana::ResourcesGetterTest: test_Sort_by_a_belongs_to_association
119482
+ -----------------------------------------------------------------------
119483
+ SQL (0.3ms) SELECT "belongs_to_fields"."id" AS t0_r0, "belongs_to_fields"."has_one_field_id" AS t0_r1, "belongs_to_fields"."has_many_class_name_field_id" AS t0_r2, "belongs_to_fields"."has_many_field_id" AS t0_r3, "has_one_fields"."id" AS t1_r0, "has_one_fields"."checked" AS t1_r1, "has_one_fields"."status" AS t1_r2, "has_many_fields"."id" AS t2_r0, "has_many_fields"."has_many_through_field_id" AS t2_r1, "has_many_class_name_fields"."id" AS t3_r0 FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" ORDER BY "has_one_fields"."id" ASC LIMIT 10 OFFSET 0
119484
+  (0.2ms) SELECT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id"
119485
+  (0.0ms) rollback transaction
119486
+  (0.0ms) begin transaction
119487
+ --------------------------------------------------------------------
119488
+ ForestLiana::ResourcesGetterTest: test_Sort_by_a_has_one_association
119489
+ --------------------------------------------------------------------
119490
+ SQL (0.6ms) SELECT "has_one_fields"."id" AS t0_r0, "has_one_fields"."checked" AS t0_r1, "has_one_fields"."status" AS t0_r2, "belongs_to_fields"."id" AS t1_r0, "belongs_to_fields"."has_one_field_id" AS t1_r1, "belongs_to_fields"."has_many_class_name_field_id" AS t1_r2, "belongs_to_fields"."has_many_field_id" AS t1_r3, "belongs_to_class_name_fields"."id" AS t2_r0, "belongs_to_class_name_fields"."foo_id" AS t2_r1 FROM "has_one_fields" LEFT OUTER JOIN "belongs_to_fields" ON "belongs_to_fields"."has_one_field_id" = "has_one_fields"."id" LEFT OUTER JOIN "belongs_to_class_name_fields" ON "belongs_to_class_name_fields"."foo_id" = "has_one_fields"."id" ORDER BY "belongs_to_fields"."id" DESC LIMIT 10 OFFSET 0
119491
+  (0.1ms) SELECT COUNT(DISTINCT "has_one_fields"."id") FROM "has_one_fields" LEFT OUTER JOIN "belongs_to_fields" ON "belongs_to_fields"."has_one_field_id" = "has_one_fields"."id" LEFT OUTER JOIN "belongs_to_class_name_fields" ON "belongs_to_class_name_fields"."foo_id" = "has_one_fields"."id"
119492
+  (0.0ms) rollback transaction
119493
+  (0.0ms) begin transaction
119494
+ ----------------------------------------------------------------
119495
+ ForestLiana::ResourcesGetterTest: test_StringField_sort_by_field
119496
+ ----------------------------------------------------------------
119497
+ SQL (0.2ms) SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY "string_fields"."field" DESC LIMIT 10 OFFSET 0
119498
+  (0.1ms) SELECT COUNT(*) FROM "string_fields"
119499
+  (0.1ms) rollback transaction
119500
+  (0.1ms) begin transaction
119501
+ ------------------------------------------------------------------------------------------------
119502
+ ForestLiana::ResourcesGetterTest: test_Filter_on_an_updated_at_field_of_an_associated_collection
119503
+ ------------------------------------------------------------------------------------------------
119504
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at BETWEEN '2018-01-01 09:00:00 UTC' AND '2019-01-01 08:59:59 UTC') ORDER BY "trees"."created_at" DESC LIMIT 10 OFFSET 0
119505
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at BETWEEN '2018-01-01 09:00:00 UTC' AND '2019-01-01 08:59:59 UTC')
119506
+  (0.0ms) rollback transaction
119507
+  (0.1ms) begin transaction
119508
+ ----------------------------------------------------------
119509
+ ForestLiana::ResourcesGetterTest: test_Filter_after_x_days
119510
+ ----------------------------------------------------------
119511
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4 FROM "trees" WHERE ("trees"."created_at" > '2019-02-01 17:41:45 UTC') ORDER BY "trees"."created_at" DESC LIMIT 10 OFFSET 0
119512
+  (0.0ms) SELECT COUNT(*) FROM "trees" WHERE ("trees"."created_at" > '2019-02-01 17:41:45 UTC')
119513
+  (0.0ms) rollback transaction
119514
+  (0.0ms) begin transaction
119515
+ -----------------------------------------------------------------------------
119516
+ ForestLiana::ResourcesGetterTest: test_Filter_on_a_field_that_does_not_exists
119517
+ -----------------------------------------------------------------------------
119518
+  (0.0ms) rollback transaction
119519
+  (0.0ms) begin transaction
119520
+ ------------------------------------------------------------------------------------
119521
+ ForestLiana::ResourcesGetterTest: test_Sort_on_an_ambiguous_field_name_with_a_filter
119522
+ ------------------------------------------------------------------------------------
119523
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.name = 'Arnaud Besnier') ORDER BY "trees"."name" DESC LIMIT 10 OFFSET 0
119524
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.name = 'Arnaud Besnier')
119525
+  (0.0ms) rollback transaction
119526
+  (0.0ms) begin transaction
119527
+ ----------------------------------------------------------------
119528
+ ForestLiana::ResourcesGetterTest: test_Filter_on_ambiguous_field
119529
+ ----------------------------------------------------------------
119530
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE ("trees"."created_at" > '2015-06-18 08:00:00') AND (owners.name = 'Arnaud Besnier') ORDER BY "trees"."created_at" DESC LIMIT 10 OFFSET 0
119531
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE ("trees"."created_at" > '2015-06-18 08:00:00') AND (owners.name = 'Arnaud Besnier')
119532
+  (0.2ms) rollback transaction
119533
+  (0.1ms) begin transaction
119534
+ -----------------------------------------------------------------
119535
+ ForestLiana::ResourcesGetterTest: test_StringField_page_1_size_15
119536
+ -----------------------------------------------------------------
119537
+ SQL (0.2ms) SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY "string_fields"."id" DESC LIMIT 15 OFFSET 0
119538
+  (0.1ms) SELECT COUNT(*) FROM "string_fields"
119539
+  (0.2ms) rollback transaction
119540
+  (0.1ms) begin transaction
119541
+ -----------------------------------------------------------------
119542
+ ForestLiana::ResourcesGetterTest: test_StringField_page_2_size_10
119543
+ -----------------------------------------------------------------
119544
+ SQL (0.1ms) SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY "string_fields"."id" DESC LIMIT 10 OFFSET 10
119545
+  (0.1ms) SELECT COUNT(*) FROM "string_fields"
119546
+  (0.1ms) rollback transaction
119547
+  (0.1ms) begin transaction
119548
+ ------------------------------------------------------------------------------------------------------
119549
+ ForestLiana::ResourcesGetterTest: test_Filter_equal_on_an_updated_at_field_of_an_associated_collection
119550
+ ------------------------------------------------------------------------------------------------------
119551
+ SQL (0.1ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at = 'Sat Jul 02 2016 11:52:00 GMT-0400 (EDT)') ORDER BY "trees"."created_at" DESC LIMIT 10 OFFSET 0
119552
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at = 'Sat Jul 02 2016 11:52:00 GMT-0400 (EDT)')
119553
+  (0.0ms) rollback transaction
119554
+  (0.1ms) begin transaction
119555
+ ---------------------------------------------------------------------------------------------------------
119556
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_bad_format_value
119557
+ ---------------------------------------------------------------------------------------------------------
119558
+ SerializeField Load (0.3ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
119559
+  (0.1ms) rollback transaction
119560
+  (0.0ms) begin transaction
119561
+ ------------------------------------------------------------------------------------------------------
119562
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_missing_value
119563
+ ------------------------------------------------------------------------------------------------------
119564
+ SerializeField Load (0.1ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
119565
+  (0.0ms) SAVEPOINT active_record_1
119566
+  (0.0ms) RELEASE SAVEPOINT active_record_1
119567
+  (0.1ms) rollback transaction
119568
+  (0.0ms) begin transaction
119569
+ ---------------------------------------------------------------------------------------------------
119570
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_null_value
119571
+ ---------------------------------------------------------------------------------------------------
119572
+ SerializeField Load (0.1ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
119573
+  (0.0ms) SAVEPOINT active_record_1
119574
+ SQL (0.6ms) UPDATE "serialize_fields" SET "field" = ? WHERE "serialize_fields"."id" = ? [["field", nil], ["id", 1]]
119575
+  (0.0ms) RELEASE SAVEPOINT active_record_1
119576
+  (0.4ms) rollback transaction
119577
+  (0.0ms) begin transaction
119578
+ ------------------------------------------------------------------------------------------------------------
119579
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_well_formated_value
119580
+ ------------------------------------------------------------------------------------------------------------
119581
+ SerializeField Load (0.1ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
119582
+  (0.1ms) SAVEPOINT active_record_1
119583
+ SQL (0.3ms) UPDATE "serialize_fields" SET "field" = ? WHERE "serialize_fields"."id" = ? [["field", "---\n- test\n- test\n"], ["id", 1]]
119584
+  (0.1ms) RELEASE SAVEPOINT active_record_1
119585
+  (0.8ms) rollback transaction
119586
+  (0.2ms) begin transaction
119587
+ -----------------------------------
119588
+ ForestLiana::RouteTest: test_Routes
119589
+ -----------------------------------
119590
+  (0.1ms) rollback transaction