bulk_insert 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +22 -0
- data/lib/bulk_insert.rb +5 -3
- data/lib/bulk_insert/version.rb +1 -1
- data/lib/bulk_insert/worker.rb +4 -2
- data/test/dummy/log/test.log +286 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 441f604c7dcfaa00902f46fca07f376559fed7ce
|
4
|
+
data.tar.gz: 9a00313cc43ed9aa6fb704e9b0ba600015b10599
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8b779e68d0f0ab4fcaf9699e38ce2a56962c95edaf615d0952713e28b6d0e95ef0ffe42da46101b5b4bcbba8b8e334d7ac259f7c903770c33b30fefcab67e90
|
7
|
+
data.tar.gz: c37eaf99e2ec09a9b1b9328eca84274130677b3ed6cf5a23b91abd358ef8fbff83b1cd6101481a783af2dd9542b0a5cdd4956fe6375b2f720c711ad5a5512733
|
data/README.md
CHANGED
@@ -128,6 +128,28 @@ Book.bulk_insert do |worker|
|
|
128
128
|
end
|
129
129
|
```
|
130
130
|
|
131
|
+
### Insert Ignore
|
132
|
+
|
133
|
+
By default, when an insert fails the whole batch of inserts fail. The
|
134
|
+
_ignore_ option ignores the inserts that would have failed (because of
|
135
|
+
duplicate keys or a null in column with a not null constraint) and
|
136
|
+
inserts the rest of the batch.
|
137
|
+
|
138
|
+
This is not the default because no errors are raised for the bad
|
139
|
+
inserts in the batch.
|
140
|
+
|
141
|
+
```ruby
|
142
|
+
destination_columns = [:title, :author]
|
143
|
+
|
144
|
+
# Ignore bad inserts in the batch
|
145
|
+
Book.bulk_insert(*destination_columns, ignore: true) do |worker|
|
146
|
+
worker.add(...)
|
147
|
+
worker.add(...)
|
148
|
+
# ...
|
149
|
+
end
|
150
|
+
```
|
151
|
+
|
152
|
+
|
131
153
|
## License
|
132
154
|
|
133
155
|
BulkInsert is released under the MIT license (see MIT-LICENSE) by
|
data/lib/bulk_insert.rb
CHANGED
@@ -4,9 +4,9 @@ module BulkInsert
|
|
4
4
|
extend ActiveSupport::Concern
|
5
5
|
|
6
6
|
module ClassMethods
|
7
|
-
def bulk_insert(*columns, values: nil, set_size:500)
|
7
|
+
def bulk_insert(*columns, values: nil, set_size:500, ignore: false)
|
8
8
|
columns = default_bulk_columns if columns.empty?
|
9
|
-
worker = BulkInsert::Worker.new(connection, table_name, columns, set_size)
|
9
|
+
worker = BulkInsert::Worker.new(connection, table_name, columns, set_size, ignore)
|
10
10
|
|
11
11
|
if values.present?
|
12
12
|
transaction do
|
@@ -33,4 +33,6 @@ module BulkInsert
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
|
36
|
+
ActiveSupport.on_load(:active_record) do
|
37
|
+
send(:include, BulkInsert)
|
38
|
+
end
|
data/lib/bulk_insert/version.rb
CHANGED
data/lib/bulk_insert/worker.rb
CHANGED
@@ -4,9 +4,11 @@ module BulkInsert
|
|
4
4
|
attr_accessor :set_size
|
5
5
|
attr_accessor :after_save_callback
|
6
6
|
|
7
|
-
def initialize(connection, table_name, column_names, set_size=500)
|
7
|
+
def initialize(connection, table_name, column_names, set_size=500, ignore=false)
|
8
8
|
@connection = connection
|
9
9
|
@set_size = set_size
|
10
|
+
# INSERT IGNORE only fails inserts with duplicate keys or unallowed nulls not the whole set of inserts
|
11
|
+
@ignore = ignore ? "IGNORE" : nil
|
10
12
|
|
11
13
|
columns = connection.columns(table_name)
|
12
14
|
column_map = columns.inject({}) { |h, c| h.update(c.name => c) }
|
@@ -62,7 +64,7 @@ module BulkInsert
|
|
62
64
|
|
63
65
|
def save!
|
64
66
|
if pending?
|
65
|
-
sql = "INSERT INTO #{@table_name} (#{@column_names}) VALUES "
|
67
|
+
sql = "INSERT #{@ignore} INTO #{@table_name} (#{@column_names}) VALUES "
|
66
68
|
@now = Time.now
|
67
69
|
|
68
70
|
rows = []
|
data/test/dummy/log/test.log
CHANGED
@@ -3108,3 +3108,289 @@ BulkInsertWorkerTest: test_add_should_use_database_default_values_when_present
|
|
3108
3108
|
[1m[36m (0.1ms)[0m [1mINSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',20,'f','2016-11-01 17:59:20.918117','2016-11-01 17:59:20.918117','chartreuse')[0m
|
3109
3109
|
[1m[35mTesting Load (0.1ms)[0m SELECT "testings".* FROM "testings" ORDER BY "testings"."id" ASC LIMIT 1
|
3110
3110
|
[1m[36m (0.2ms)[0m [1mrollback transaction[0m
|
3111
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.3ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
3112
|
+
[1m[35m (0.1ms)[0m begin transaction
|
3113
|
+
-------------------------------------------------------------------
|
3114
|
+
BulkInsertWorkerTest: test_after_save_callback_can_be_set_as_a_proc
|
3115
|
+
-------------------------------------------------------------------
|
3116
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3117
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3118
|
+
----------------------------------------------------------------------------------------------
|
3119
|
+
BulkInsertWorkerTest: test_default_timestamp_columns_should_be_equivalent_for_the_entire_batch
|
3120
|
+
----------------------------------------------------------------------------------------------
|
3121
|
+
[1m[36m (0.8ms)[0m [1mINSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',15,'t','2017-02-11 23:45:39.546535','2017-02-11 23:45:39.546535','chartreuse'),('Howdy',20,'f','2017-02-11 23:45:39.546535','2017-02-11 23:45:39.546535','chartreuse')[0m
|
3122
|
+
[1m[35mTesting Load (0.1ms)[0m SELECT "testings".* FROM "testings"
|
3123
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
3124
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3125
|
+
------------------------------------------------------------------------------
|
3126
|
+
BulkInsertWorkerTest: test_add_should_use_database_default_values_when_present
|
3127
|
+
------------------------------------------------------------------------------
|
3128
|
+
[1m[36m (0.2ms)[0m [1mINSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',20,'f','2017-02-11 23:45:39.554824','2017-02-11 23:45:39.554824','chartreuse')[0m
|
3129
|
+
[1m[35mTesting Load (0.1ms)[0m SELECT "testings".* FROM "testings" ORDER BY "testings"."id" ASC LIMIT 1
|
3130
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
3131
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3132
|
+
--------------------------------------------------------
|
3133
|
+
BulkInsertWorkerTest: test_save!_inserts_pending_records
|
3134
|
+
--------------------------------------------------------
|
3135
|
+
[1m[36m (0.2ms)[0m [1mINSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Yo',15,'f','2017-02-11 23:45:39.557371','2017-02-11 23:45:39.557371','chartreuse'),('Hello',25,'t','2017-02-11 23:45:39.557371','2017-02-11 23:45:39.557371','chartreuse')[0m
|
3136
|
+
[1m[35mTesting Load (0.1ms)[0m SELECT "testings".* FROM "testings" WHERE "testings"."greeting" = ? LIMIT 1 [["greeting", "Yo"]]
|
3137
|
+
[1m[36mTesting Load (0.0ms)[0m [1mSELECT "testings".* FROM "testings" WHERE "testings"."greeting" = ? LIMIT 1[0m [["greeting", "Hello"]]
|
3138
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
3139
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3140
|
+
----------------------------------------------------------------------------
|
3141
|
+
BulkInsertWorkerTest: test_pending_count_should_describe_size_of_pending_set
|
3142
|
+
----------------------------------------------------------------------------
|
3143
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3144
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3145
|
+
-------------------------------------------------------------------------------
|
3146
|
+
BulkInsertWorkerTest: test_add_should_default_timestamp_columns_to_current_time
|
3147
|
+
-------------------------------------------------------------------------------
|
3148
|
+
[1m[35m (0.2ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',15,'t','2017-02-11 23:45:39.563471','2017-02-11 23:45:39.563471','chartreuse')
|
3149
|
+
[1m[36mTesting Load (0.1ms)[0m [1mSELECT "testings".* FROM "testings" ORDER BY "testings"."id" ASC LIMIT 1[0m
|
3150
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
3151
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3152
|
+
----------------------------------------------------------------------------------
|
3153
|
+
BulkInsertWorkerTest: test_add_should_save_automatically_when_overflowing_set_size
|
3154
|
+
----------------------------------------------------------------------------------
|
3155
|
+
[1m[35m (0.2ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',15,'t','2017-02-11 23:45:39.564977','2017-02-11 23:45:39.564977','chartreuse')
|
3156
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(*) FROM "testings"[0m
|
3157
|
+
[1m[35mTesting Load (0.0ms)[0m SELECT "testings".* FROM "testings" ORDER BY "testings"."id" ASC LIMIT 1
|
3158
|
+
[1m[36m (0.2ms)[0m [1mrollback transaction[0m
|
3159
|
+
[1m[35m (0.1ms)[0m begin transaction
|
3160
|
+
-------------------------------------------------------------------
|
3161
|
+
BulkInsertWorkerTest: test_save!_when_not_pending_should_do_nothing
|
3162
|
+
-------------------------------------------------------------------
|
3163
|
+
[1m[36m (0.0ms)[0m [1mSELECT COUNT(*) FROM "testings"[0m
|
3164
|
+
[1m[35m (0.0ms)[0m SELECT COUNT(*) FROM "testings"
|
3165
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3166
|
+
[1m[35m (0.1ms)[0m begin transaction
|
3167
|
+
-------------------------------------------------------------
|
3168
|
+
BulkInsertWorkerTest: test_save!_calls_the_after_save_handler
|
3169
|
+
-------------------------------------------------------------
|
3170
|
+
[1m[36m (0.2ms)[0m [1mINSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Yo',15,'f','2017-02-11 23:45:39.567512','2017-02-11 23:45:39.567512','chartreuse'),('Hello',25,'t','2017-02-11 23:45:39.567512','2017-02-11 23:45:39.567512','chartreuse')[0m
|
3171
|
+
[1m[35m (0.2ms)[0m rollback transaction
|
3172
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
3173
|
+
----------------------------------------------------------------
|
3174
|
+
BulkInsertWorkerTest: test_explicit_nil_should_override_defaults
|
3175
|
+
----------------------------------------------------------------
|
3176
|
+
[1m[35m (0.1ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',20,'f','2017-02-11 23:45:39.568535','2017-02-11 23:45:39.568535',NULL)
|
3177
|
+
[1m[36mTesting Load (0.0ms)[0m [1mSELECT "testings".* FROM "testings" ORDER BY "testings"."id" ASC LIMIT 1[0m
|
3178
|
+
[1m[35m (0.2ms)[0m rollback transaction
|
3179
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
3180
|
+
-------------------------------------------
|
3181
|
+
BulkInsertWorkerTest: test_default_set_size
|
3182
|
+
-------------------------------------------
|
3183
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3184
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3185
|
+
----------------------------------------------------------------
|
3186
|
+
BulkInsertWorkerTest: test_add_should_allow_values_given_as_Hash
|
3187
|
+
----------------------------------------------------------------
|
3188
|
+
[1m[35m (0.2ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Yo',20,'f','2017-02-11 23:45:39.570261','2017-02-11 23:45:39.570261','chartreuse')
|
3189
|
+
[1m[36mTesting Load (0.1ms)[0m [1mSELECT "testings".* FROM "testings" ORDER BY "testings"."id" ASC LIMIT 1[0m
|
3190
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
3191
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3192
|
+
--------------------------------------------------------------------
|
3193
|
+
BulkInsertWorkerTest: test_adding_row_to_insert_makes_insert_pending
|
3194
|
+
--------------------------------------------------------------------
|
3195
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3196
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3197
|
+
---------------------------------------------------------
|
3198
|
+
BulkInsertWorkerTest: test_save!_makes_insert_not_pending
|
3199
|
+
---------------------------------------------------------
|
3200
|
+
[1m[35m (0.2ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',15,'t','2017-02-11 23:45:39.572142','2017-02-11 23:45:39.572142','chartreuse')
|
3201
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
3202
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3203
|
+
------------------------------------------------------
|
3204
|
+
BulkInsertWorkerTest: test_empty_insert_is_not_pending
|
3205
|
+
------------------------------------------------------
|
3206
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3207
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3208
|
+
---------------------------------------------------------------------
|
3209
|
+
BulkInsertWorkerTest: test_add_all_should_append_all_items_to_the_set
|
3210
|
+
---------------------------------------------------------------------
|
3211
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3212
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3213
|
+
--------------------------------------------------------------
|
3214
|
+
BulkInsertWorkerTest: test_after_save_stores_a_block_as_a_proc
|
3215
|
+
--------------------------------------------------------------
|
3216
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3217
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3218
|
+
------------------------------------------------------------------------------
|
3219
|
+
BulkInsertTest: test_default_bulk_columns_should_return_all_columns_without_id
|
3220
|
+
------------------------------------------------------------------------------
|
3221
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3222
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3223
|
+
-------------------------------------------------------------------
|
3224
|
+
BulkInsertTest: test_bulk_insert_without_block_should_return_worker
|
3225
|
+
-------------------------------------------------------------------
|
3226
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3227
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3228
|
+
-----------------------------------------------------------------------------
|
3229
|
+
BulkInsertTest: test_bulk_insert_with_array_should_save_the_array_immediately
|
3230
|
+
-----------------------------------------------------------------------------
|
3231
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(*) FROM "testings"[0m
|
3232
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
3233
|
+
[1m[36m (0.2ms)[0m [1mINSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',15,'t','green','2017-02-11 23:45:39.576083','chartreuse'),('Hey',20,'f','2017-02-11 23:45:39.576083','2017-02-11 23:45:39.576083','chartreuse')[0m
|
3234
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
3235
|
+
[1m[36m (0.0ms)[0m [1mSELECT COUNT(*) FROM "testings"[0m
|
3236
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
3237
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3238
|
+
---------------------------------------------------------------------
|
3239
|
+
BulkInsertTest: test_bulk_insert_with_block_should_save_automatically
|
3240
|
+
---------------------------------------------------------------------
|
3241
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "testings"
|
3242
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
3243
|
+
[1m[35m (0.2ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',NULL,NULL,'2017-02-11 23:45:39.578091','2017-02-11 23:45:39.578091','chartreuse')
|
3244
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
3245
|
+
[1m[35m (0.0ms)[0m SELECT COUNT(*) FROM "testings"
|
3246
|
+
[1m[36m (0.2ms)[0m [1mrollback transaction[0m
|
3247
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3248
|
+
---------------------------------------------------------------
|
3249
|
+
BulkInsertTest: test_bulk_insert_with_block_should_yield_worker
|
3250
|
+
---------------------------------------------------------------
|
3251
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
3252
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
3253
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3254
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
3255
|
+
[1m[35m (0.1ms)[0m begin transaction
|
3256
|
+
-------------------------------------------------------------------
|
3257
|
+
BulkInsertWorkerTest: test_after_save_callback_can_be_set_as_a_proc
|
3258
|
+
-------------------------------------------------------------------
|
3259
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3260
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3261
|
+
-------------------------------------------------------------------
|
3262
|
+
BulkInsertWorkerTest: test_save!_when_not_pending_should_do_nothing
|
3263
|
+
-------------------------------------------------------------------
|
3264
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(*) FROM "testings"[0m
|
3265
|
+
[1m[35m (0.0ms)[0m SELECT COUNT(*) FROM "testings"
|
3266
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3267
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3268
|
+
---------------------------------------------------------------------
|
3269
|
+
BulkInsertWorkerTest: test_add_all_should_append_all_items_to_the_set
|
3270
|
+
---------------------------------------------------------------------
|
3271
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3272
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3273
|
+
--------------------------------------------------------------
|
3274
|
+
BulkInsertWorkerTest: test_after_save_stores_a_block_as_a_proc
|
3275
|
+
--------------------------------------------------------------
|
3276
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3277
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3278
|
+
-------------------------------------------------------------
|
3279
|
+
BulkInsertWorkerTest: test_save!_calls_the_after_save_handler
|
3280
|
+
-------------------------------------------------------------
|
3281
|
+
[1m[36m (0.4ms)[0m [1mINSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Yo',15,'f','2017-02-11 23:46:25.196788','2017-02-11 23:46:25.196788','chartreuse'),('Hello',25,'t','2017-02-11 23:46:25.196788','2017-02-11 23:46:25.196788','chartreuse')[0m
|
3282
|
+
[1m[35m (2.3ms)[0m rollback transaction
|
3283
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
3284
|
+
-------------------------------------------------------------------------------
|
3285
|
+
BulkInsertWorkerTest: test_add_should_default_timestamp_columns_to_current_time
|
3286
|
+
-------------------------------------------------------------------------------
|
3287
|
+
[1m[35m (0.3ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',15,'t','2017-02-11 23:46:25.201773','2017-02-11 23:46:25.201773','chartreuse')
|
3288
|
+
[1m[36mTesting Load (0.1ms)[0m [1mSELECT "testings".* FROM "testings" ORDER BY "testings"."id" ASC LIMIT 1[0m
|
3289
|
+
[1m[35m (0.5ms)[0m rollback transaction
|
3290
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3291
|
+
------------------------------------------------------
|
3292
|
+
BulkInsertWorkerTest: test_empty_insert_is_not_pending
|
3293
|
+
------------------------------------------------------
|
3294
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3295
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3296
|
+
------------------------------------------------------------------------------
|
3297
|
+
BulkInsertWorkerTest: test_add_should_use_database_default_values_when_present
|
3298
|
+
------------------------------------------------------------------------------
|
3299
|
+
[1m[35m (0.2ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',20,'f','2017-02-11 23:46:25.209628','2017-02-11 23:46:25.209628','chartreuse')
|
3300
|
+
[1m[36mTesting Load (0.1ms)[0m [1mSELECT "testings".* FROM "testings" ORDER BY "testings"."id" ASC LIMIT 1[0m
|
3301
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
3302
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3303
|
+
--------------------------------------------------------
|
3304
|
+
BulkInsertWorkerTest: test_save!_inserts_pending_records
|
3305
|
+
--------------------------------------------------------
|
3306
|
+
[1m[35m (0.2ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Yo',15,'f','2017-02-11 23:46:25.211213','2017-02-11 23:46:25.211213','chartreuse'),('Hello',25,'t','2017-02-11 23:46:25.211213','2017-02-11 23:46:25.211213','chartreuse')
|
3307
|
+
[1m[36mTesting Load (0.1ms)[0m [1mSELECT "testings".* FROM "testings" WHERE "testings"."greeting" = ? LIMIT 1[0m [["greeting", "Yo"]]
|
3308
|
+
[1m[35mTesting Load (0.0ms)[0m SELECT "testings".* FROM "testings" WHERE "testings"."greeting" = ? LIMIT 1 [["greeting", "Hello"]]
|
3309
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
3310
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3311
|
+
----------------------------------------------------------------
|
3312
|
+
BulkInsertWorkerTest: test_add_should_allow_values_given_as_Hash
|
3313
|
+
----------------------------------------------------------------
|
3314
|
+
[1m[36m (0.2ms)[0m [1mINSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Yo',20,'f','2017-02-11 23:46:25.215328','2017-02-11 23:46:25.215328','chartreuse')[0m
|
3315
|
+
[1m[35mTesting Load (0.1ms)[0m SELECT "testings".* FROM "testings" ORDER BY "testings"."id" ASC LIMIT 1
|
3316
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
3317
|
+
[1m[35m (0.1ms)[0m begin transaction
|
3318
|
+
----------------------------------------------------------------
|
3319
|
+
BulkInsertWorkerTest: test_explicit_nil_should_override_defaults
|
3320
|
+
----------------------------------------------------------------
|
3321
|
+
[1m[36m (0.2ms)[0m [1mINSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',20,'f','2017-02-11 23:46:25.216675','2017-02-11 23:46:25.216675',NULL)[0m
|
3322
|
+
[1m[35mTesting Load (0.0ms)[0m SELECT "testings".* FROM "testings" ORDER BY "testings"."id" ASC LIMIT 1
|
3323
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
3324
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3325
|
+
----------------------------------------------------------------------------------
|
3326
|
+
BulkInsertWorkerTest: test_add_should_save_automatically_when_overflowing_set_size
|
3327
|
+
----------------------------------------------------------------------------------
|
3328
|
+
[1m[36m (0.2ms)[0m [1mINSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',15,'t','2017-02-11 23:46:25.217847','2017-02-11 23:46:25.217847','chartreuse')[0m
|
3329
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "testings"
|
3330
|
+
[1m[36mTesting Load (0.1ms)[0m [1mSELECT "testings".* FROM "testings" ORDER BY "testings"."id" ASC LIMIT 1[0m
|
3331
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
3332
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3333
|
+
--------------------------------------------------------------------
|
3334
|
+
BulkInsertWorkerTest: test_adding_row_to_insert_makes_insert_pending
|
3335
|
+
--------------------------------------------------------------------
|
3336
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3337
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
3338
|
+
----------------------------------------------------------------------------
|
3339
|
+
BulkInsertWorkerTest: test_pending_count_should_describe_size_of_pending_set
|
3340
|
+
----------------------------------------------------------------------------
|
3341
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
3342
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3343
|
+
-------------------------------------------
|
3344
|
+
BulkInsertWorkerTest: test_default_set_size
|
3345
|
+
-------------------------------------------
|
3346
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3347
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3348
|
+
----------------------------------------------------------------------------------------------
|
3349
|
+
BulkInsertWorkerTest: test_default_timestamp_columns_should_be_equivalent_for_the_entire_batch
|
3350
|
+
----------------------------------------------------------------------------------------------
|
3351
|
+
[1m[35m (0.2ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',15,'t','2017-02-11 23:46:25.220829','2017-02-11 23:46:25.220829','chartreuse'),('Howdy',20,'f','2017-02-11 23:46:25.220829','2017-02-11 23:46:25.220829','chartreuse')
|
3352
|
+
[1m[36mTesting Load (0.1ms)[0m [1mSELECT "testings".* FROM "testings"[0m
|
3353
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
3354
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3355
|
+
---------------------------------------------------------
|
3356
|
+
BulkInsertWorkerTest: test_save!_makes_insert_not_pending
|
3357
|
+
---------------------------------------------------------
|
3358
|
+
[1m[35m (0.2ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',15,'t','2017-02-11 23:46:25.222350','2017-02-11 23:46:25.222350','chartreuse')
|
3359
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
3360
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3361
|
+
------------------------------------------------------------------------------
|
3362
|
+
BulkInsertTest: test_default_bulk_columns_should_return_all_columns_without_id
|
3363
|
+
------------------------------------------------------------------------------
|
3364
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3365
|
+
[1m[35m (0.1ms)[0m begin transaction
|
3366
|
+
-------------------------------------------------------------------
|
3367
|
+
BulkInsertTest: test_bulk_insert_without_block_should_return_worker
|
3368
|
+
-------------------------------------------------------------------
|
3369
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
3370
|
+
[1m[35m (0.0ms)[0m begin transaction
|
3371
|
+
-----------------------------------------------------------------------------
|
3372
|
+
BulkInsertTest: test_bulk_insert_with_array_should_save_the_array_immediately
|
3373
|
+
-----------------------------------------------------------------------------
|
3374
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(*) FROM "testings"[0m
|
3375
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
3376
|
+
[1m[36m (0.2ms)[0m [1mINSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',15,'t','green','2017-02-11 23:46:25.224910','chartreuse'),('Hey',20,'f','2017-02-11 23:46:25.224910','2017-02-11 23:46:25.224910','chartreuse')[0m
|
3377
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
3378
|
+
[1m[36m (0.0ms)[0m [1mSELECT COUNT(*) FROM "testings"[0m
|
3379
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
3380
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3381
|
+
---------------------------------------------------------------
|
3382
|
+
BulkInsertTest: test_bulk_insert_with_block_should_yield_worker
|
3383
|
+
---------------------------------------------------------------
|
3384
|
+
[1m[35m (0.1ms)[0m SAVEPOINT active_record_1
|
3385
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
3386
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
3387
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
3388
|
+
---------------------------------------------------------------------
|
3389
|
+
BulkInsertTest: test_bulk_insert_with_block_should_save_automatically
|
3390
|
+
---------------------------------------------------------------------
|
3391
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "testings"
|
3392
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
3393
|
+
[1m[35m (0.3ms)[0m INSERT INTO "testings" ("greeting","age","happy","created_at","updated_at","color") VALUES ('Hello',NULL,NULL,'2017-02-11 23:46:25.227624','2017-02-11 23:46:25.227624','chartreuse')
|
3394
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
3395
|
+
[1m[35m (0.0ms)[0m SELECT COUNT(*) FROM "testings"
|
3396
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bulk_insert
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamis Buck
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|