lore 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. data/LICENSE +19 -0
  2. data/README +74 -0
  3. data/aspect.rb +80 -0
  4. data/behaviours/lockable.rb +41 -0
  5. data/behaviours/movable.rb +54 -0
  6. data/behaviours/versioned.rb +24 -0
  7. data/benchmark.rb +193 -0
  8. data/bits.rb +52 -0
  9. data/cache/abstract_entity_cache.rb +82 -0
  10. data/cache/bits.rb +22 -0
  11. data/cache/cacheable.rb +202 -0
  12. data/cache/cached_entities.rb +116 -0
  13. data/cache/file_index.rb +35 -0
  14. data/cache/mmap_entity_cache.rb +67 -0
  15. data/clause.rb +528 -0
  16. data/connection.rb +155 -0
  17. data/custom_functions.sql +14 -0
  18. data/exception/ambiguous_attribute.rb +14 -0
  19. data/exception/cache_exception.rb +30 -0
  20. data/exception/invalid_klass_parameters.rb +63 -0
  21. data/exception/invalid_parameter.rb +42 -0
  22. data/exception/unknown_typecode.rb +19 -0
  23. data/file_index.sql +56 -0
  24. data/gui/erb_template.rb +79 -0
  25. data/gui/erb_template_helpers.rhtml +19 -0
  26. data/gui/form.rb +314 -0
  27. data/gui/form_element.rb +676 -0
  28. data/gui/form_generator.rb +151 -0
  29. data/gui/templates/button.rhtml +2 -0
  30. data/gui/templates/checkbox.rhtml +3 -0
  31. data/gui/templates/checkbox_row.rhtml +1 -0
  32. data/gui/templates/file.rhtml +2 -0
  33. data/gui/templates/file_readonly.rhtml +3 -0
  34. data/gui/templates/form_element.rhtml +5 -0
  35. data/gui/templates/form_element_horizontal.rhtml +3 -0
  36. data/gui/templates/form_element_listed.rhtml +8 -0
  37. data/gui/templates/form_table.rhtml +3 -0
  38. data/gui/templates/form_table_blank.rhtml +3 -0
  39. data/gui/templates/form_table_horizontal.rhtml +8 -0
  40. data/gui/templates/password.rhtml +2 -0
  41. data/gui/templates/password_readonly.rhtml +3 -0
  42. data/gui/templates/radio.rhtml +1 -0
  43. data/gui/templates/radio_row.rhtml +1 -0
  44. data/gui/templates/select.rhtml +23 -0
  45. data/gui/templates/text.rhtml +2 -0
  46. data/gui/templates/text_readonly.rhtml +3 -0
  47. data/gui/templates/textarea.rhtml +3 -0
  48. data/gui/templates/textarea_readonly.rhtml +4 -0
  49. data/lore.gemspec +40 -0
  50. data/lore.rb +94 -0
  51. data/migration.rb +48 -0
  52. data/model.rb +139 -0
  53. data/model_factory.rb +202 -0
  54. data/model_shortcuts.rb +16 -0
  55. data/query_shortcuts.rb +367 -0
  56. data/reserved_methods.txt +3 -0
  57. data/result.rb +100 -0
  58. data/symbol.rb +58 -0
  59. data/table_accessor.rb +1926 -0
  60. data/table_deleter.rb +115 -0
  61. data/table_inserter.rb +168 -0
  62. data/table_instance.rb +384 -0
  63. data/table_selector.rb +314 -0
  64. data/table_updater.rb +155 -0
  65. data/test/README +31 -0
  66. data/test/env.rb +5 -0
  67. data/test/lore_test.log +8218 -0
  68. data/test/model.rb +142 -0
  69. data/test/prepare.rb +37 -0
  70. data/test/tc_aspect.rb +58 -0
  71. data/test/tc_cache.rb +80 -0
  72. data/test/tc_clause.rb +104 -0
  73. data/test/tc_deep_inheritance.rb +49 -0
  74. data/test/tc_factory.rb +57 -0
  75. data/test/tc_filter.rb +37 -0
  76. data/test/tc_form.rb +32 -0
  77. data/test/tc_model.rb +86 -0
  78. data/test/tc_prepare.rb +45 -0
  79. data/test/tc_refined_query.rb +88 -0
  80. data/test/tc_table_accessor.rb +265 -0
  81. data/test/test.log +181 -0
  82. data/test/test_db.sql +400 -0
  83. data/test/ts_lore.rb +49 -0
  84. data/types.rb +55 -0
  85. data/validation/message.rb +60 -0
  86. data/validation/parameter_validator.rb +104 -0
  87. data/validation/reason.rb +54 -0
  88. data/validation/type_validator.rb +91 -0
  89. data/validation.rb +65 -0
  90. metadata +170 -0
@@ -0,0 +1,45 @@
1
+
2
+ require 'test/unit'
3
+
4
+ require('lore/test/model')
5
+ require('lore/test/ts_lore')
6
+
7
+ module Lore
8
+ module Unit
9
+
10
+ Car.prepare(:by_id, Lore::Type.integer) { |a|
11
+ a.where(Car.id == Lore::Clause.new('$1'))
12
+ }
13
+
14
+ class TC_Prepare < Test::Unit::TestCase
15
+
16
+ def setup
17
+ @org_units = Hash.new
18
+ @org_units[:m] = Manufacturer.create( :name => 'PrepManufacturer' )
19
+ @org_units[:t] = Car_Type.create( :name => 'PrepType' )
20
+ @org_units[:c] = Car.create(
21
+ :manuf_id => @org_units[:m].manuf_id,
22
+ :name => 'SLK',
23
+ :num_seats => 2,
24
+ :maxspeed => 180,
25
+ :num_doors => 3,
26
+ :car_type_id => @org_units[:t].car_type_id
27
+ )
28
+ assert(@org_units[:c].instance_of?(Car))
29
+ end
30
+
31
+ def teardown
32
+ @org_units.each_pair { |id,instance|
33
+ instance.delete
34
+ }
35
+ end
36
+
37
+ def test_basic
38
+ co = Car.load(:id => @org_units[:c].id)
39
+ cp = Car.by_id(@org_units[:c].id).first
40
+ assert_equal(co, cp)
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,88 @@
1
+
2
+ require 'test/unit'
3
+ require('lore/test/model')
4
+ require('lore/clause')
5
+
6
+ module Lore
7
+ module Unit
8
+
9
+
10
+ class TC_Refined_Query < Test::Unit::TestCase
11
+
12
+ def setup
13
+ Car.delete_all
14
+
15
+ Car.create(
16
+ :manuf_id => 1,
17
+ :name => 'SLK',
18
+ :num_seats => 2,
19
+ :maxspeed => 180,
20
+ :num_doors => 3,
21
+ :car_type_id => 1
22
+ )
23
+ Car.create(
24
+ :manuf_id => 1,
25
+ :name => 'SLK2',
26
+ :num_seats => 2,
27
+ :maxspeed => 180,
28
+ :num_doors => 3,
29
+ :car_type_id => 1
30
+ )
31
+ end
32
+
33
+ def teardown
34
+ Car.delete_all
35
+ end
36
+
37
+ def test_select_value
38
+ manuf = Manufacturer.create( :name => 'Fiat' )
39
+ ct = Car_Type.create( :name => 'Transporter' )
40
+ c1 = Car.create(
41
+ :manuf_id => manuf.manuf_id,
42
+ :name => 'test_refined_1',
43
+ :num_seats => 2,
44
+ :maxspeed => 180,
45
+ :num_doors => 3,
46
+ :car_type_id => ct.car_type_id
47
+ )
48
+ c2 = Car.create(
49
+ :manuf_id => manuf.manuf_id,
50
+ :name => 'test_refined_2',
51
+ :num_seats => 2,
52
+ :maxspeed => 180,
53
+ :num_doors => 3,
54
+ :car_type_id => ct.car_type_id
55
+ )
56
+ u1 = Car.all(Car.name).with(Car.manuf_id == manuf.manuf_id).entities
57
+ assert(u1.include?('test_refined_1'))
58
+ assert(u1.include?('test_refined_2'))
59
+ end
60
+
61
+ def test_select_max
62
+ max = Car.value_of.max(Car.id).to_i
63
+ end
64
+
65
+ def test_select_sum
66
+ type = Car_Type.create(:name => 'temp')
67
+ 7.times {
68
+ Car.create(:manuf_id => 123,
69
+ :num_seats => 5,
70
+ :owner_id => 0,
71
+ :name => 'SumMe',
72
+ :car_type_id => type.car_type_id,
73
+ :maxspeed => 120,
74
+ :num_doors => 3)
75
+
76
+ }
77
+ sum = Car.value_of.sum(Car.num_seats).with(Car.manuf_id == 123).to_i
78
+ end
79
+
80
+ def test_inner_select
81
+ inner = Manufacturer.all(Manufacturer.manuf_id).with(Manufacturer.name == 'Mercedes')
82
+ u1 = Car.find(1).with(Car.manuf_id.in(inner)).entity
83
+ end
84
+
85
+ end
86
+
87
+ end
88
+ end
@@ -0,0 +1,265 @@
1
+
2
+ require 'test/unit'
3
+ require 'lore/table_accessor'
4
+
5
+ module Lore
6
+ module Unit
7
+
8
+ class TC_Table_Accessor < Test::Unit::TestCase
9
+
10
+ def setup
11
+
12
+ Manufacturer.delete_all
13
+ Vehicle.delete_all
14
+ Car_Type.delete_all
15
+ Car.delete_all
16
+ Bike.delete_all
17
+ Owner.delete_all
18
+ Garage.delete_all
19
+ Trailer.delete_all
20
+ # Fill Lore:
21
+ $units = Hash.new
22
+ $units[:manufacturer] = Array.new
23
+ $units[:car] = Array.new
24
+ $units[:car_type] = Array.new
25
+ $units[:bike] = Array.new
26
+ $units[:garage] = Array.new
27
+ $units[:owner] = Array.new
28
+
29
+ m1 = Manufacturer.create( :name => 'BMW' )
30
+ assert(m1.name == 'BMW')
31
+ $units[:manufacturer] << m1
32
+ m2 = Manufacturer.create( :name => 'Mercedes' )
33
+ assert(m2.name == 'Mercedes')
34
+ $units[:manufacturer] << m2
35
+ m3 = Manufacturer.create( :name => 'Audi' )
36
+ assert(m3.name == 'Audi')
37
+ $units[:manufacturer] << m3
38
+
39
+ ct1 = Car_Type.create( :name => 'Limousine' )
40
+ $units[:car_type] << ct1
41
+ ct2 = Car_Type.create( :name => 'SUV' )
42
+ $units[:car_type] << ct2
43
+ ct3 = Car_Type.create( :name => 'Cabrio' )
44
+ $units[:car_type] << ct3
45
+ ct4 = Car_Type.create( :name => 'Boxter' )
46
+ $units[:car_type] << ct4
47
+
48
+ c1 = Car.create(
49
+ :manuf_id => m2.manuf_id,
50
+ :name => 'SLK',
51
+ :num_seats => 2,
52
+ :maxspeed => 180,
53
+ :num_doors => 3,
54
+ :car_type_id => ct3.car_type_id
55
+ )
56
+ $units[:car] << c1
57
+
58
+ o1 = Owner.create(:name => 'owner_1')
59
+ $units[:owner] << o1
60
+
61
+ end
62
+
63
+ def teardown
64
+ end
65
+
66
+ def test_custom_join
67
+
68
+ # Do not expand anything
69
+ o1 = Owner.select { |o|
70
+ o.join(Vehicle_Owner).using(:owner_id) { |vo|
71
+ vo.join(Vehicle).on(Vehicle_Owner.vehicle_id == Vehicle.id) { |v|
72
+ v.where true
73
+ }
74
+ }
75
+ }
76
+ # Expand Car by Vehicle automatically (Car.vehicle_id)
77
+ Car.select { |c|
78
+ c.join(Vehicle_Owner).on(Car.vehicle_id == Vehicle_Owner.vehicle_id) { |vo|
79
+ vo.join(Owner).on(Vehicle_Owner.owner_id == Owner.owner_id) { |o|
80
+ o.where true
81
+ }
82
+ }
83
+ }
84
+ # Expand Car by Vehicle automatically in a nested join
85
+ Owner.select { |o|
86
+ o.join(Vehicle_Owner).on(Vehicle_Owner.owner_id == Owner.owner_id) { |vo|
87
+ vo.join(Car).on(Car.vehicle_id == Vehicle_Owner.vehicle_id) { |c|
88
+ c.where true
89
+ }
90
+ }
91
+ }
92
+
93
+ end
94
+
95
+ def test_ignore_params
96
+ Car_Type.create( :name => 'Foo', :ignore => 'these', :params => 'please' )
97
+ end
98
+
99
+ def test_validation
100
+
101
+ validation_failed = false
102
+ begin
103
+ failing_unit = Car_Type.create( :name => 'Van#2' ) # special chars
104
+ rescue Lore::Exception::Invalid_Klass_Parameters => ikp
105
+ validation_failed = true
106
+ end
107
+ assert(validation_failed, 'Invalid parameter passed validation')
108
+
109
+ validation_failed = false
110
+ begin
111
+ failing_unit = Car_Type.create( :name => 'Li' ) # too short
112
+ rescue Lore::Exception::Invalid_Klass_Parameters => ikp
113
+ validation_failed = true
114
+ end
115
+ assert(validation_failed, 'Invalid parameter passed validation')
116
+
117
+ # Test if validation works for inherited constraints:
118
+ validation_failed = false
119
+ begin
120
+ Car.create(
121
+ :manuf_id => $units[:manufacturer].first.manuf_id,
122
+ :name => 'SLK! this will fail pass thanks to filtering',
123
+ :num_seats => 2,
124
+ :maxspeed => 180,
125
+ :num_doors => 3,
126
+ :car_type_id => $units[:car_type].first.car_type_id
127
+ )
128
+ rescue Lore::Exception::Invalid_Klass_Parameters => ikp
129
+ validation_failed = true
130
+ end
131
+ assert(!validation_failed, 'Invalid parameter passed validation')
132
+
133
+ end
134
+
135
+ def test_select_variants
136
+
137
+ car = $units[:car][0]
138
+ car_id = car.id
139
+
140
+ s1 = Car.select { |c|
141
+ c.where(Car.id == car_id)
142
+ c.limit(1)
143
+ }.first
144
+
145
+ s2 = Car.load(:id => car_id)
146
+ s3 = Car.find(1).with(Car.id == car_id).entity
147
+ s4 = Car.all_with(Car.id == car_id).entity
148
+
149
+ assert(s1 == s2)
150
+ assert(s1 == s3)
151
+ assert(s1 == s4)
152
+
153
+ end
154
+
155
+ def test_aggregation_on_joined_models
156
+ t = Trailer.create(:car_id => Car.create(:name => 'TrailerCar',
157
+ :manuf_id => $units[:manufacturer].first.manuf_id,
158
+ :num_seats => 2,
159
+ :maxspeed => 120,
160
+ :num_doors => 4,
161
+ :car_type_id => $units[:car_type].first.car_type_id).id,
162
+ :maxweight => 4000)
163
+ tl = Trailer.select { |trailer|
164
+ trailer.where(trailer.trailer_id == t.trailer_id)
165
+ trailer.limit 1
166
+ }.first
167
+ assert_equal(t, tl)
168
+ end
169
+
170
+ def test_simple_create
171
+ end
172
+
173
+ def test_instance_compairison
174
+ m1_a = Manufacturer.load({ :manuf_id => $units[:manufacturer][0].manuf_id })
175
+ m1_b = Manufacturer.load({ :manuf_id => $units[:manufacturer][0].manuf_id })
176
+ m2 = Manufacturer.load({ :manuf_id => $units[:manufacturer][1].manuf_id })
177
+ assert(m1_a == m1_a)
178
+ assert(m1_a == m1_b)
179
+ assert(m1_a <=> m2)
180
+
181
+ end
182
+
183
+ def test_simple_load
184
+ m1 = Manufacturer.load({ :manuf_id => $units[:manufacturer][0].manuf_id })
185
+ assert(m1 == $units[:manufacturer][0])
186
+ m2 = Manufacturer.load({ :manuf_id => $units[:manufacturer][1].manuf_id })
187
+ assert(m2 == $units[:manufacturer][1])
188
+ ct1 = Car_Type.load({ :car_type_id => $units[:car_type][0].car_type_id })
189
+ assert(ct1 == $units[:car_type][0])
190
+ ct2 = Car_Type.load({ :car_type_id => $units[:car_type][1].car_type_id })
191
+ assert(ct2 == $units[:car_type][1])
192
+ end
193
+
194
+ def test_create_single_inherit
195
+ m1 = Manufacturer.load({ :manuf_id => $units[:manufacturer][0].manuf_id })
196
+ m2 = Manufacturer.load({ :manuf_id => $units[:manufacturer][1].manuf_id })
197
+ ct1 = Car_Type.load({ :car_type_id => $units[:car_type][0].car_type_id })
198
+ ct2 = Car_Type.load({ :car_type_id => $units[:car_type][1].car_type_id })
199
+
200
+ c1 = Car.create(
201
+ :manuf_id => m1.manuf_id,
202
+ :name => '325M',
203
+ :name => '325M',
204
+ :num_seats => 5,
205
+ :maxspeed => 180,
206
+ :num_doors => 5,
207
+ :car_type_id => ct1.car_type_id
208
+ )
209
+
210
+ assert(c1.manuf_id == m1.manuf_id)
211
+
212
+ assert_equal(c1[Vehicle.name], '325m')
213
+ assert_equal(c1[Car_Type.name], 'Limousine')
214
+ assert_equal(c1.num_seats, '5')
215
+ assert_equal('180km/h', c1.maxspeed, 'c1.maxspeed is ' << c1.maxspeed)
216
+ assert_equal(c1.num_doors, '5')
217
+ assert_equal(c1.car_type_id, ct1.car_type_id)
218
+
219
+ end
220
+
221
+ def test_inherited_has_a
222
+ m1 = Manufacturer.load( :manuf_id => $units[:manufacturer][0].manuf_id )
223
+ assert(m1.name == $units[:manufacturer][0].name)
224
+ m2 = Manufacturer.load( :manuf_id => $units[:manufacturer][1].manuf_id )
225
+ assert(m2.name == $units[:manufacturer][1].name)
226
+ ct1 = Car_Type.load( :car_type_id => $units[:car_type][0].car_type_id )
227
+ ct2 = Car_Type.load( :car_type_id => $units[:car_type][1].car_type_id )
228
+
229
+ c1 = Car.create(
230
+ :manuf_id => m1.manuf_id,
231
+ Car.name.to_s => '318i',
232
+ :num_seats => 5,
233
+ :maxspeed => 180,
234
+ :num_doors => 5,
235
+ :owner_id => 1,
236
+ :car_type_id => ct1.car_type_id
237
+ )
238
+ c1_s = Car.find(1).with(Car.name == '318i').entity
239
+ assert_equal(c1.manufacturer_entity, m1)
240
+ assert_equal(c1.car_type_id, ct1.car_type_id)
241
+
242
+ c1.set_manufacturer_entity(m2)
243
+ c1.commit
244
+ c1.set_car_type_entity!(ct2)
245
+
246
+ assert(c1.manufacturer_entity == m2)
247
+ assert(c1.car_type_entity == ct2)
248
+
249
+ c1_s = Car.find(1).with(Car.name == '318i').entity
250
+
251
+ assert(c1_s.manufacturer_entity == m2)
252
+ assert(c1_s.car_type_entity == ct2)
253
+
254
+ assert(!c1_s.nil? && c1_s[Vehicle.name] == '318i')
255
+
256
+ end
257
+
258
+ def test_create_multi_inherit
259
+ end
260
+
261
+ end
262
+
263
+ end
264
+ end
265
+
data/test/test.log ADDED
@@ -0,0 +1,181 @@
1
+ /usr/lib/ruby/1.8/lore/test/tc_clause.rb:82: warning: parenthesize argument(s) for future version
2
+ /usr/lib/ruby/1.8/lore/test/tc_clause.rb:83: warning: parenthesize argument(s) for future version
3
+ /usr/lib/ruby/1.8/lore/test/tc_refined_query.rb:57: warning: parenthesize argument(s) for future version
4
+ /usr/lib/ruby/1.8/lore/test/tc_refined_query.rb:58: warning: parenthesize argument(s) for future version
5
+ /usr/lib/ruby/1.8/lore/test/tc_prepare.rb:28: warning: parenthesize argument(s) for future version
6
+ D, [2008-11-09T11:30:26.622330 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
7
+ D, [2008-11-09T11:30:26.640561 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
8
+ D, [2008-11-09T11:30:26.647668 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
9
+ D, [2008-11-09T11:30:26.654716 #8484] DEBUG -- : PERFORM INSERT on public.car_type
10
+ D, [2008-11-09T11:30:26.661514 #8484] DEBUG -- : PERFORM INSERT on public.car_type
11
+ D, [2008-11-09T11:30:26.668194 #8484] DEBUG -- : PERFORM INSERT on public.car_type
12
+ D, [2008-11-09T11:30:26.674762 #8484] DEBUG -- : PERFORM INSERT on public.car_type
13
+ D, [2008-11-09T11:30:26.682067 #8484] DEBUG -- : PERFORM INSERT on public.car
14
+ D, [2008-11-09T11:30:26.816595 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
15
+ D, [2008-11-09T11:30:26.830283 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
16
+ D, [2008-11-09T11:30:26.837289 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
17
+ D, [2008-11-09T11:30:26.844229 #8484] DEBUG -- : PERFORM INSERT on public.car_type
18
+ D, [2008-11-09T11:30:26.851027 #8484] DEBUG -- : PERFORM INSERT on public.car_type
19
+ D, [2008-11-09T11:30:26.857956 #8484] DEBUG -- : PERFORM INSERT on public.car_type
20
+ D, [2008-11-09T11:30:26.864765 #8484] DEBUG -- : PERFORM INSERT on public.car_type
21
+ D, [2008-11-09T11:30:26.872078 #8484] DEBUG -- : PERFORM INSERT on public.car
22
+ D, [2008-11-09T11:30:26.892606 #8484] DEBUG -- : PERFORM INSERT on public.car_type
23
+ D, [2008-11-09T11:30:26.900695 #8484] DEBUG -- : PERFORM INSERT on public.car
24
+ D, [2008-11-09T11:30:26.909619 #8484] DEBUG -- : PERFORM INSERT on public.car
25
+ NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "new_model_pkey" for table "new_model"
26
+ NOTICE: CREATE TABLE / UNIQUE will create implicit index "new_model_name_key" for table "new_model"
27
+ D, [2008-11-09T11:30:26.953061 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
28
+ D, [2008-11-09T11:30:26.958942 #8484] DEBUG -- : PERFORM INSERT on public.car_type
29
+ D, [2008-11-09T11:30:26.964851 #8484] DEBUG -- : PERFORM INSERT on public.car
30
+ D, [2008-11-09T11:30:26.971592 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
31
+ D, [2008-11-09T11:30:26.977070 #8484] DEBUG -- : PERFORM INSERT on public.car_type
32
+ D, [2008-11-09T11:30:26.982861 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
33
+ D, [2008-11-09T11:30:26.988228 #8484] DEBUG -- : PERFORM INSERT on public.car_type
34
+ D, [2008-11-09T11:30:26.993495 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
35
+ D, [2008-11-09T11:30:26.998893 #8484] DEBUG -- : PERFORM INSERT on public.car_type
36
+ D, [2008-11-09T11:30:27.004444 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
37
+ D, [2008-11-09T11:30:27.010941 #8484] DEBUG -- : PERFORM INSERT on public.car_type
38
+ D, [2008-11-09T11:30:27.016375 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
39
+ D, [2008-11-09T11:30:27.022031 #8484] DEBUG -- : PERFORM INSERT on public.car_type
40
+ D, [2008-11-09T11:30:27.027571 #8484] DEBUG -- : Template: form_element.rhtml
41
+ D, [2008-11-09T11:30:27.028150 #8484] DEBUG -- : Template: form_table.rhtml
42
+ CUSTOM ELEMENTS: {}
43
+ GET_ATTRIBUTES: Accessor: Lore::Unit::Car
44
+ GET_ATTRIBUTES: {"public.vehicle"=>["id", "manuf_id", "num_seats", "maxspeed", "name", "owner_id"], "public.car_type"=>["car_type_id", "name"], "public.car"=>["id", "vehicle_id", "car_type_id", "num_doors"]}
45
+ D, [2008-11-09T11:30:27.028594 #8484] DEBUG -- : id is implicit
46
+ D, [2008-11-09T11:30:27.028877 #8484] DEBUG -- : car_type_id is implicit
47
+ D, [2008-11-09T11:30:27.028956 #8484] DEBUG -- : name is implicit
48
+ D, [2008-11-09T11:30:27.029045 #8484] DEBUG -- : id is implicit
49
+ D, [2008-11-09T11:30:27.029137 #8484] DEBUG -- : vehicle_id is implicit
50
+ D, [2008-11-09T11:30:27.031727 #8484] DEBUG -- : PERFORM INSERT on public.vehicle
51
+ D, [2008-11-09T11:30:27.037423 #8484] DEBUG -- : PERFORM INSERT on public.car_type
52
+ D, [2008-11-09T11:30:27.048573 #8484] DEBUG -- : PERFORM INSERT on public.car_type
53
+ D, [2008-11-09T11:30:27.054301 #8484] DEBUG -- : PERFORM INSERT on public.car
54
+ D, [2008-11-09T11:30:27.065148 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
55
+ D, [2008-11-09T11:30:27.073130 #8484] DEBUG -- : PERFORM INSERT on public.car_type
56
+ D, [2008-11-09T11:30:27.078993 #8484] DEBUG -- : PERFORM INSERT on public.car
57
+ D, [2008-11-09T11:30:27.101517 #8484] DEBUG -- : PERFORM INSERT on public.car
58
+ D, [2008-11-09T11:30:27.110302 #8484] DEBUG -- : PERFORM INSERT on public.car
59
+ D, [2008-11-09T11:30:27.124056 #8484] DEBUG -- : PERFORM INSERT on public.car
60
+ D, [2008-11-09T11:30:27.133103 #8484] DEBUG -- : PERFORM INSERT on public.car
61
+ D, [2008-11-09T11:30:27.148799 #8484] DEBUG -- : PERFORM INSERT on public.car
62
+ D, [2008-11-09T11:30:27.157765 #8484] DEBUG -- : PERFORM INSERT on public.car
63
+ D, [2008-11-09T11:30:27.165829 #8484] DEBUG -- : PERFORM INSERT on public.car_type
64
+ D, [2008-11-09T11:30:27.173143 #8484] DEBUG -- : PERFORM INSERT on public.car
65
+ D, [2008-11-09T11:30:27.182239 #8484] DEBUG -- : PERFORM INSERT on public.car
66
+ D, [2008-11-09T11:30:27.191144 #8484] DEBUG -- : PERFORM INSERT on public.car
67
+ D, [2008-11-09T11:30:27.200868 #8484] DEBUG -- : PERFORM INSERT on public.car
68
+ D, [2008-11-09T11:30:27.209957 #8484] DEBUG -- : PERFORM INSERT on public.car
69
+ D, [2008-11-09T11:30:27.219175 #8484] DEBUG -- : PERFORM INSERT on public.car
70
+ D, [2008-11-09T11:30:27.228259 #8484] DEBUG -- : PERFORM INSERT on public.car
71
+ D, [2008-11-09T11:30:27.244500 #8484] DEBUG -- : PERFORM INSERT on public.car
72
+ D, [2008-11-09T11:30:27.253082 #8484] DEBUG -- : PERFORM INSERT on public.car
73
+ D, [2008-11-09T11:30:27.261273 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
74
+ D, [2008-11-09T11:30:27.268005 #8484] DEBUG -- : PERFORM INSERT on public.car_type
75
+ D, [2008-11-09T11:30:27.275769 #8484] DEBUG -- : PERFORM INSERT on public.car
76
+ D, [2008-11-09T11:30:27.284810 #8484] DEBUG -- : PERFORM INSERT on public.car
77
+ D, [2008-11-09T11:30:27.305007 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
78
+ D, [2008-11-09T11:30:27.312813 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
79
+ D, [2008-11-09T11:30:27.319646 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
80
+ D, [2008-11-09T11:30:27.326412 #8484] DEBUG -- : PERFORM INSERT on public.car_type
81
+ D, [2008-11-09T11:30:27.333173 #8484] DEBUG -- : PERFORM INSERT on public.car_type
82
+ D, [2008-11-09T11:30:27.340233 #8484] DEBUG -- : PERFORM INSERT on public.car_type
83
+ D, [2008-11-09T11:30:27.347104 #8484] DEBUG -- : PERFORM INSERT on public.car_type
84
+ D, [2008-11-09T11:30:27.354356 #8484] DEBUG -- : PERFORM INSERT on public.car
85
+ D, [2008-11-09T11:30:27.362709 #8484] DEBUG -- : PERFORM INSERT on public.owner
86
+ D, [2008-11-09T11:30:27.370472 #8484] DEBUG -- : PERFORM INSERT on public.car
87
+ D, [2008-11-09T11:30:27.379365 #8484] DEBUG -- : PERFORM INSERT on public.trailer
88
+ D, [2008-11-09T11:30:27.395327 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
89
+ D, [2008-11-09T11:30:27.402865 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
90
+ D, [2008-11-09T11:30:27.409889 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
91
+ D, [2008-11-09T11:30:27.417370 #8484] DEBUG -- : PERFORM INSERT on public.car_type
92
+ D, [2008-11-09T11:30:27.425571 #8484] DEBUG -- : PERFORM INSERT on public.car_type
93
+ D, [2008-11-09T11:30:27.432421 #8484] DEBUG -- : PERFORM INSERT on public.car_type
94
+ D, [2008-11-09T11:30:27.439273 #8484] DEBUG -- : PERFORM INSERT on public.car_type
95
+ D, [2008-11-09T11:30:27.446653 #8484] DEBUG -- : PERFORM INSERT on public.car
96
+ D, [2008-11-09T11:30:27.455123 #8484] DEBUG -- : PERFORM INSERT on public.owner
97
+ D, [2008-11-09T11:30:27.467203 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
98
+ D, [2008-11-09T11:30:27.474638 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
99
+ D, [2008-11-09T11:30:27.481917 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
100
+ D, [2008-11-09T11:30:27.489049 #8484] DEBUG -- : PERFORM INSERT on public.car_type
101
+ D, [2008-11-09T11:30:27.495919 #8484] DEBUG -- : PERFORM INSERT on public.car_type
102
+ D, [2008-11-09T11:30:27.502709 #8484] DEBUG -- : PERFORM INSERT on public.car_type
103
+ D, [2008-11-09T11:30:27.509402 #8484] DEBUG -- : PERFORM INSERT on public.car_type
104
+ D, [2008-11-09T11:30:27.516864 #8484] DEBUG -- : PERFORM INSERT on public.car
105
+ D, [2008-11-09T11:30:27.527287 #8484] DEBUG -- : PERFORM INSERT on public.owner
106
+ D, [2008-11-09T11:30:27.554191 #8484] DEBUG -- : PERFORM INSERT on public.car
107
+ D, [2008-11-09T11:30:27.567860 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
108
+ D, [2008-11-09T11:30:27.578227 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
109
+ D, [2008-11-09T11:30:27.583912 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
110
+ D, [2008-11-09T11:30:27.589379 #8484] DEBUG -- : PERFORM INSERT on public.car_type
111
+ D, [2008-11-09T11:30:27.594743 #8484] DEBUG -- : PERFORM INSERT on public.car_type
112
+ D, [2008-11-09T11:30:27.600822 #8484] DEBUG -- : PERFORM INSERT on public.car_type
113
+ D, [2008-11-09T11:30:27.606215 #8484] DEBUG -- : PERFORM INSERT on public.car_type
114
+ D, [2008-11-09T11:30:27.612240 #8484] DEBUG -- : PERFORM INSERT on public.car
115
+ D, [2008-11-09T11:30:27.618830 #8484] DEBUG -- : PERFORM INSERT on public.owner
116
+ D, [2008-11-09T11:30:27.636003 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
117
+ D, [2008-11-09T11:30:27.642144 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
118
+ D, [2008-11-09T11:30:27.648381 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
119
+ D, [2008-11-09T11:30:27.653719 #8484] DEBUG -- : PERFORM INSERT on public.car_type
120
+ D, [2008-11-09T11:30:27.659115 #8484] DEBUG -- : PERFORM INSERT on public.car_type
121
+ D, [2008-11-09T11:30:27.665470 #8484] DEBUG -- : PERFORM INSERT on public.car_type
122
+ D, [2008-11-09T11:30:27.671086 #8484] DEBUG -- : PERFORM INSERT on public.car_type
123
+ D, [2008-11-09T11:30:27.677262 #8484] DEBUG -- : PERFORM INSERT on public.car
124
+ D, [2008-11-09T11:30:27.684383 #8484] DEBUG -- : PERFORM INSERT on public.owner
125
+ D, [2008-11-09T11:30:27.706066 #8484] DEBUG -- : PERFORM INSERT on public.car
126
+ D, [2008-11-09T11:30:27.748425 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
127
+ D, [2008-11-09T11:30:27.755836 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
128
+ D, [2008-11-09T11:30:27.762723 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
129
+ D, [2008-11-09T11:30:27.769455 #8484] DEBUG -- : PERFORM INSERT on public.car_type
130
+ D, [2008-11-09T11:30:27.776956 #8484] DEBUG -- : PERFORM INSERT on public.car_type
131
+ D, [2008-11-09T11:30:27.783707 #8484] DEBUG -- : PERFORM INSERT on public.car_type
132
+ D, [2008-11-09T11:30:27.790444 #8484] DEBUG -- : PERFORM INSERT on public.car_type
133
+ D, [2008-11-09T11:30:27.798958 #8484] DEBUG -- : PERFORM INSERT on public.car
134
+ D, [2008-11-09T11:30:27.807539 #8484] DEBUG -- : PERFORM INSERT on public.owner
135
+ D, [2008-11-09T11:30:27.835507 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
136
+ D, [2008-11-09T11:30:27.842722 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
137
+ D, [2008-11-09T11:30:27.849571 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
138
+ D, [2008-11-09T11:30:27.856612 #8484] DEBUG -- : PERFORM INSERT on public.car_type
139
+ D, [2008-11-09T11:30:27.863533 #8484] DEBUG -- : PERFORM INSERT on public.car_type
140
+ D, [2008-11-09T11:30:27.870722 #8484] DEBUG -- : PERFORM INSERT on public.car_type
141
+ D, [2008-11-09T11:30:27.877630 #8484] DEBUG -- : PERFORM INSERT on public.car_type
142
+ D, [2008-11-09T11:30:27.885020 #8484] DEBUG -- : PERFORM INSERT on public.car
143
+ D, [2008-11-09T11:30:27.895813 #8484] DEBUG -- : PERFORM INSERT on public.owner
144
+ D, [2008-11-09T11:30:27.915270 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
145
+ D, [2008-11-09T11:30:27.921295 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
146
+ D, [2008-11-09T11:30:27.927146 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
147
+ D, [2008-11-09T11:30:27.932500 #8484] DEBUG -- : PERFORM INSERT on public.car_type
148
+ D, [2008-11-09T11:30:27.937988 #8484] DEBUG -- : PERFORM INSERT on public.car_type
149
+ D, [2008-11-09T11:30:27.943816 #8484] DEBUG -- : PERFORM INSERT on public.car_type
150
+ D, [2008-11-09T11:30:27.949192 #8484] DEBUG -- : PERFORM INSERT on public.car_type
151
+ D, [2008-11-09T11:30:27.954956 #8484] DEBUG -- : PERFORM INSERT on public.car
152
+ D, [2008-11-09T11:30:27.961491 #8484] DEBUG -- : PERFORM INSERT on public.owner
153
+ D, [2008-11-09T11:30:27.972056 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
154
+ D, [2008-11-09T11:30:27.978103 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
155
+ D, [2008-11-09T11:30:27.983861 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
156
+ D, [2008-11-09T11:30:27.989194 #8484] DEBUG -- : PERFORM INSERT on public.car_type
157
+ D, [2008-11-09T11:30:27.994359 #8484] DEBUG -- : PERFORM INSERT on public.car_type
158
+ D, [2008-11-09T11:30:27.999811 #8484] DEBUG -- : PERFORM INSERT on public.car_type
159
+ D, [2008-11-09T11:30:28.005751 #8484] DEBUG -- : PERFORM INSERT on public.car_type
160
+ D, [2008-11-09T11:30:28.014663 #8484] DEBUG -- : PERFORM INSERT on public.car
161
+ D, [2008-11-09T11:30:28.021332 #8484] DEBUG -- : PERFORM INSERT on public.owner
162
+ D, [2008-11-09T11:30:28.047718 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
163
+ D, [2008-11-09T11:30:28.053410 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
164
+ D, [2008-11-09T11:30:28.059079 #8484] DEBUG -- : PERFORM INSERT on public.manufacturer
165
+ D, [2008-11-09T11:30:28.065090 #8484] DEBUG -- : PERFORM INSERT on public.car_type
166
+ D, [2008-11-09T11:30:28.071159 #8484] DEBUG -- : PERFORM INSERT on public.car_type
167
+ D, [2008-11-09T11:30:28.076623 #8484] DEBUG -- : PERFORM INSERT on public.car_type
168
+ D, [2008-11-09T11:30:28.081935 #8484] DEBUG -- : PERFORM INSERT on public.car_type
169
+ D, [2008-11-09T11:30:28.087765 #8484] DEBUG -- : PERFORM INSERT on public.car
170
+ D, [2008-11-09T11:30:28.094550 #8484] DEBUG -- : PERFORM INSERT on public.owner
171
+ E, [2008-11-09T11:30:28.100006 #8484] ERROR -- : Invalid parameters for klass Lore::Unit::Car_Type:
172
+ E, [2008-11-09T11:30:28.100045 #8484] ERROR -- : Invalid parameters:
173
+ E, [2008-11-09T11:30:28.100086 #8484] ERROR -- : {"public.car_type"=>#<Lore::Exception::Unmet_Constraints: Lore::Exception::Unmet_Constraints>}
174
+ E, [2008-11-09T11:30:28.100121 #8484] ERROR -- : Explicit attributes:
175
+ E, [2008-11-09T11:30:28.100168 #8484] ERROR -- : {"public.car_type"=>["name"]}
176
+ E, [2008-11-09T11:30:28.100532 #8484] ERROR -- : Invalid parameters for klass Lore::Unit::Car_Type:
177
+ E, [2008-11-09T11:30:28.100569 #8484] ERROR -- : Invalid parameters:
178
+ E, [2008-11-09T11:30:28.100609 #8484] ERROR -- : {"public.car_type"=>#<Lore::Exception::Unmet_Constraints: Lore::Exception::Unmet_Constraints>}
179
+ E, [2008-11-09T11:30:28.100643 #8484] ERROR -- : Explicit attributes:
180
+ E, [2008-11-09T11:30:28.100689 #8484] ERROR -- : {"public.car_type"=>["name"]}
181
+ D, [2008-11-09T11:30:28.101634 #8484] DEBUG -- : PERFORM INSERT on public.car