forest_liana 2.14.7 → 2.15.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2326b497ded06f0e2dd39273009974e70ed507d1
4
- data.tar.gz: 8f274a31724536f98568262bd6a594ed10bc8034
3
+ metadata.gz: 59e796ce07d5f7cf5d236297e5a1d26c1b4e61a7
4
+ data.tar.gz: 6400747da9d29cf2c57f974adfffb13de3b67212
5
5
  SHA512:
6
- metadata.gz: 4f358bca88eb6daeb47cfddeed51f8141218095fe3138c8d7b2805a2ba8a23e388fec09e4c4c0666ef7b36f3950e7b5a761e5fa1d352a0ce6c82bfdef818fb95
7
- data.tar.gz: b0e7e1c90666c774e545baf2ce32a1fd7ab499f1a63605d21d8744538dbeaa4a8a2ca5683573247960bc39ecd3fd571410371a689781fcc5053f8842f0ddb654
6
+ metadata.gz: d26d075f6a1b202c3e5ef0195f61e223facc232e0d8e1eee908659591a7e53dde268973f14ab20b7abf77992a1a8115f2ee795008663057473067fae9680bc58
7
+ data.tar.gz: 2407895f42b1715cf3268978220bbde83df807ac4c3fb0133aa6a897454b5e50dd5eee814057fb0e5b3c06598ddbe8afca734b5ec398fcf1fed3d6185732d660
@@ -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,
@@ -244,6 +252,7 @@ module ForestLiana
244
252
  field[:reference] = get_reference_for(association)
245
253
  field[:field] = association.name
246
254
  field[:inverseOf] = inverse_of(association)
255
+ field[:relationship] = get_relationship_type(association)
247
256
  # NOTICE: Create the fields of hasOne, HasMany, … relationships.
248
257
  else
249
258
  collection.fields << get_schema_for_association(association)
@@ -285,12 +294,17 @@ module ForestLiana
285
294
  {
286
295
  field: association.name.to_s,
287
296
  type: get_type_for_association(association),
297
+ relationship: get_relationship_type(association),
288
298
  reference: "#{ForestLiana.name_for(association.klass)}.id",
289
299
  inverseOf: inverse_of(association),
290
300
  'is-filterable': !is_many_association(association)
291
301
  }
292
302
  end
293
303
 
304
+ def get_relationship_type(association)
305
+ association.macro.to_s.camelize
306
+ end
307
+
294
308
  def get_type_for(column)
295
309
  # NOTICE: Rails 3 do not have a defined_enums method
296
310
  if @model.respond_to?(:defined_enums) &&
@@ -378,6 +378,7 @@ module ForestLiana
378
378
  {
379
379
  field: :customer,
380
380
  type: 'String',
381
+ relationship: 'BelongsTo',
381
382
  reference: "#{model_name}.id",
382
383
  'is-filterable': false
383
384
  }
@@ -420,6 +421,7 @@ module ForestLiana
420
421
  {
421
422
  field: :customer,
422
423
  type: 'String',
424
+ relationship: 'BelongsTo',
423
425
  reference: "#{model_name}.id",
424
426
  'is-filterable': false
425
427
  }
@@ -456,6 +458,7 @@ module ForestLiana
456
458
  {
457
459
  field: :customer,
458
460
  type: 'String',
461
+ relationship: 'BelongsTo',
459
462
  reference: "#{model_name}.id",
460
463
  'is-filterable': false
461
464
  }
@@ -490,6 +493,7 @@ module ForestLiana
490
493
  {
491
494
  field: :customer,
492
495
  type: 'String',
496
+ relationship: 'BelongsTo',
493
497
  reference: "#{model_name}.id",
494
498
  'is-filterable': false
495
499
  }
@@ -523,6 +527,7 @@ module ForestLiana
523
527
  {
524
528
  field: :customer,
525
529
  type: 'String',
530
+ relationship: 'BelongsTo',
526
531
  reference: "#{model_name}.id",
527
532
  'is-filterable': false
528
533
  }
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "2.14.7"
2
+ VERSION = "2.15.0"
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