Skip to content

Instantly share code, notes, and snippets.

@huoxito
Last active August 29, 2015 14:10
Show Gist options
  • Save huoxito/3d8bcf0d8fa24f54f429 to your computer and use it in GitHub Desktop.
Save huoxito/3d8bcf0d8fa24f54f429 to your computer and use it in GitHub Desktop.
Checkout add to cart sql review
Spree::LineItem Load (0.3ms) SELECT "spree_line_items".* FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 ORDER BY spree_line_items.created_at ASC [["order_id", 12]]
Spree::Price Load (0.2ms) SELECT "spree_prices".* FROM "spree_prices" WHERE "spree_prices"."deleted_at" IS NULL AND "spree_prices"."variant_id" = $1 [["variant_id", 1]]
(0.1ms) BEGIN
Spree::Product Load (0.3ms) SELECT "spree_products".* FROM "spree_products" WHERE "spree_products"."id" = $1 LIMIT 1 [["id", 1]]
Spree::TaxCategory Load (0.4ms) SELECT "spree_tax_categories".* FROM "spree_tax_categories" WHERE "spree_tax_categories"."deleted_at" IS NULL AND "spree_tax_categories"."id" = $1 LIMIT 1 [["id", 1]]
(0.4ms) SELECT SUM("spree_stock_items"."count_on_hand") AS sum_id FROM "spree_stock_items" INNER JOIN "spree_stock_locations" ON "spree_stock_locations"."id" = "spree_stock_items"."stock_location_id" WHERE "spree_stock_items"."deleted_at" IS NULL AND "spree_stock_items"."variant_id" = 1 AND "spree_stock_locations"."active" = 't'
SQL (0.2ms) INSERT INTO "spree_line_items" ("cost_price", "created_at", "currency", "order_id", "price", "quantity", "tax_category_id", "updated_at", "variant_id") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING "id" [["cost_price", "17.0"], ["created_at", "2014-11-21 18:52:40.707198"], ["currency", "USD"], ["order_id", 12], ["price", "15.99"], ["quantity", 1], ["tax_category_id", 1], ["updated_at", "2014-11-21 18:52:40.707198"], ["variant_id", 1]]
Spree::Zone Load (0.4ms) SELECT "spree_zones".* FROM "spree_zones" WHERE "spree_zones"."default_tax" = 't' ORDER BY "spree_zones"."id" ASC LIMIT 1
Spree::Adjustment Load (0.2ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE 1=0 AND "spree_adjustments"."source_type" = 'Spree::TaxRate'
Spree::Adjustment Load (0.2ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::TaxRate' [["adjustable_id", 12], ["adjustable_type", "Spree::LineItem"]]
SQL (0.4ms) UPDATE "spree_orders" SET "updated_at" = '2014-11-21 18:52:40.739103' WHERE "spree_orders"."id" = 12
Spree::Payment Load (0.6ms) SELECT "spree_payments".* FROM "spree_payments" WHERE "spree_payments"."order_id" = $1 AND ("spree_payments"."state" NOT IN ('failed', 'invalid')) ORDER BY spree_payments.created_at [["order_id", 12]]
Spree::Zone Load (0.4ms) SELECT "spree_zones".* FROM "spree_zones" WHERE "spree_zones"."default_tax" = 't' ORDER BY "spree_zones"."id" ASC LIMIT 1
Spree::Adjustment Load (0.3ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE 1=0 AND "spree_adjustments"."source_type" = 'Spree::TaxRate'
Spree::Adjustment Load (0.1ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::TaxRate' [["adjustable_id", 12], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.3ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::PromotionAction' [["adjustable_id", 12], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.2ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::PromotionAction' AND "spree_adjustments"."eligible" = 't' ORDER BY amount ASC, created_at DESC, id DESC LIMIT 1 [["adjustable_id", 12], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.2ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::TaxRate' [["adjustable_id", 12], ["adjustable_type", "Spree::LineItem"]]
SQL (0.3ms) UPDATE "spree_line_items" SET "promo_total" = 0.0, "included_tax_total" = 0, "additional_tax_total" = 0, "adjustment_total" = 0.0, "updated_at" = '2014-11-21 18:52:40.770018' WHERE "spree_line_items"."id" = 12
(0.4ms) COMMIT
Spree::Promotion Load (0.5ms) SELECT DISTINCT "spree_promotions".* FROM "spree_promotions" LEFT OUTER JOIN "spree_orders_promotions" ON "spree_promotions"."id" = "spree_orders_promotions"."promotion_id" WHERE (starts_at IS NULL OR starts_at < '2014-11-21 18:52:40.782638') AND (expires_at IS NULL OR expires_at > '2014-11-21 18:52:40.782810') AND (("spree_promotions"."code" IS NULL AND "spree_promotions"."path" IS NULL OR "spree_orders_promotions"."order_id" = 12))
Spree::Adjustment Load (0.3ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::PromotionAction' [["adjustable_id", 12], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.2ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::PromotionAction' AND "spree_adjustments"."eligible" = 't' ORDER BY amount ASC, created_at DESC, id DESC LIMIT 1 [["adjustable_id", 12], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.1ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::TaxRate' [["adjustable_id", 12], ["adjustable_type", "Spree::LineItem"]]
SQL (0.6ms) UPDATE "spree_line_items" SET "promo_total" = 0.0, "included_tax_total" = 0, "additional_tax_total" = 0, "adjustment_total" = 0.0, "updated_at" = '2014-11-21 18:52:40.786712' WHERE "spree_line_items"."id" = 12
Spree::Adjustment Load (0.4ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE (order_id = 12 AND adjustable_type != 'Spree::Order')
Spree::Adjustment Load (0.3ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 ORDER BY spree_adjustments.created_at ASC [["adjustable_id", 12], ["adjustable_type", "Spree::Order"]]
Spree::Shipment Load (0.2ms) SELECT "spree_shipments".* FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 [["order_id", 12]]
SQL (0.5ms) UPDATE "spree_orders" SET "payment_state" = NULL, "shipment_state" = NULL, "item_total" = 15.99, "item_count" = 1, "adjustment_total" = 0.0, "included_tax_total" = 0.0, "additional_tax_total" = 0.0, "payment_total" = 0.0, "shipment_total" = 0.0, "promo_total" = 0.0, "total" = 15.99, "updated_at" = '2014-11-21 18:52:40.793384' WHERE "spree_orders"."id" = 12
Spree::LineItem Load (0.4ms) SELECT "spree_line_items".* FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 ORDER BY spree_line_items.created_at ASC [["order_id", 4]]
Spree::Price Load (0.3ms) SELECT "spree_prices".* FROM "spree_prices" WHERE "spree_prices"."deleted_at" IS NULL AND "spree_prices"."variant_id" = $1 [["variant_id", 1]]
(0.1ms) BEGIN
Spree::Product Load (0.6ms) SELECT "spree_products".* FROM "spree_products" WHERE "spree_products"."id" = $1 LIMIT 1 [["id", 1]]
Spree::TaxCategory Load (0.3ms) SELECT "spree_tax_categories".* FROM "spree_tax_categories" WHERE "spree_tax_categories"."deleted_at" IS NULL AND "spree_tax_categories"."id" = $1 LIMIT 1 [["id", 1]]
(0.7ms) SELECT SUM("spree_stock_items"."count_on_hand") AS sum_id FROM "spree_stock_items" INNER JOIN "spree_stock_locations" ON "spree_stock_locations"."id" = "spree_stock_items"."stock_location_id" WHERE "spree_stock_items"."deleted_at" IS NULL AND "spree_stock_items"."variant_id" = 1 AND "spree_stock_locations"."active" = 't'
SQL (0.4ms) INSERT INTO "spree_line_items" ("cost_price", "created_at", "currency", "order_id", "price", "quantity", "tax_category_id", "updated_at", "variant_id") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING "id" [["cost_price", "17.0"], ["created_at", "2014-11-21 18:11:56.830182"], ["currency", "USD"], ["order_id", 4], ["price", "15.99"], ["quantity", 1], ["tax_category_id", 1], ["updated_at", "2014-11-21 18:11:56.830182"], ["variant_id", 1]]
Spree::Zone Load (0.5ms) SELECT "spree_zones".* FROM "spree_zones" WHERE "spree_zones"."default_tax" = 't' ORDER BY "spree_zones"."id" ASC LIMIT 1
Spree::Adjustment Load (0.4ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE 1=0 AND "spree_adjustments"."source_type" = 'Spree::TaxRate'
Spree::Adjustment Load (0.3ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::TaxRate' [["adjustable_id", 4], ["adjustable_type", "Spree::LineItem"]]
SQL (0.4ms) UPDATE "spree_orders" SET "updated_at" = '2014-11-21 18:11:56.860182' WHERE "spree_orders"."id" = 4
Spree::Payment Load (0.6ms) SELECT "spree_payments".* FROM "spree_payments" WHERE "spree_payments"."order_id" = $1 AND ("spree_payments"."state" NOT IN ('failed', 'invalid')) ORDER BY spree_payments.created_at [["order_id", 4]]
Spree::Zone Load (0.4ms) SELECT "spree_zones".* FROM "spree_zones" WHERE "spree_zones"."default_tax" = 't' ORDER BY "spree_zones"."id" ASC LIMIT 1
Spree::Adjustment Load (0.3ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE 1=0 AND "spree_adjustments"."source_type" = 'Spree::TaxRate'
Spree::Adjustment Load (0.2ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::TaxRate' [["adjustable_id", 4], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.2ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::PromotionAction' [["adjustable_id", 4], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.6ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::PromotionAction' AND "spree_adjustments"."eligible" = 't' ORDER BY amount ASC, created_at DESC, id DESC LIMIT 1 [["adjustable_id", 4], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.3ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::TaxRate' AND "spree_adjustments"."included" = 't' [["adjustable_id", 4], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.3ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::TaxRate' AND "spree_adjustments"."included" = 'f' [["adjustable_id", 4], ["adjustable_type", "Spree::LineItem"]]
SQL (0.3ms) UPDATE "spree_line_items" SET "promo_total" = 0.0, "included_tax_total" = 0, "additional_tax_total" = 0, "adjustment_total" = 0.0, "updated_at" = '2014-11-21 18:11:56.896609' WHERE "spree_line_items"."id" = 4
(8.4ms) COMMIT
(0.3ms) SELECT SUM("spree_line_items"."quantity") AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.3ms) SELECT SUM("spree_payments"."amount") AS sum_id FROM "spree_payments" WHERE "spree_payments"."order_id" = $1 AND "spree_payments"."state" = 'completed' [["order_id", 4]]
(0.3ms) SELECT SUM(price * quantity) AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.4ms) SELECT SUM("spree_shipments"."cost") AS sum_id FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 [["order_id", 4]]
Spree::Adjustment Load (0.3ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE (order_id = 4 OR (adjustable_id = 4 AND adjustable_type = 'Spree::Order'))
(0.2ms) SELECT SUM("spree_line_items"."adjustment_total") AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_shipments"."adjustment_total") AS sum_id FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 [["order_id", 4]]
(0.3ms) SELECT SUM("spree_adjustments"."amount") AS sum_id FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."eligible" = 't' [["adjustable_id", 4], ["adjustable_type", "Spree::Order"]]
(0.3ms) SELECT SUM("spree_line_items"."included_tax_total") AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_shipments"."included_tax_total") AS sum_id FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_line_items"."additional_tax_total") AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_shipments"."additional_tax_total") AS sum_id FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 [["order_id", 4]]
(0.1ms) SELECT SUM("spree_line_items"."promo_total") AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_shipments"."promo_total") AS sum_id FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_adjustments"."amount") AS sum_id FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::PromotionAction' AND "spree_adjustments"."eligible" = 't' [["adjustable_id", 4], ["adjustable_type", "Spree::Order"]]
SQL (0.6ms) UPDATE "spree_orders" SET "payment_state" = NULL, "shipment_state" = NULL, "item_total" = 15.99, "item_count" = 1, "adjustment_total" = 0.0, "included_tax_total" = 0.0, "additional_tax_total" = 0.0, "payment_total" = 0.0, "shipment_total" = 0.0, "promo_total" = 0.0, "total" = 15.99, "updated_at" = '2014-11-21 18:11:56.934126' WHERE "spree_orders"."id" = 4
Spree::Order Load (0.3ms) SELECT "spree_orders".* FROM "spree_orders" WHERE "spree_orders"."id" = $1 LIMIT 1 [["id", 4]]
Spree::Shipment Exists (0.3ms) SELECT 1 AS one FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 LIMIT 1 [["order_id", 4]]
Spree::Promotion Load (1.2ms) SELECT DISTINCT "spree_promotions".* FROM "spree_promotions" LEFT OUTER JOIN "spree_orders_promotions" ON "spree_promotions"."id" = "spree_orders_promotions"."promotion_id" WHERE (starts_at IS NULL OR starts_at < '2014-11-21 18:11:56.943264') AND (expires_at IS NULL OR expires_at > '2014-11-21 18:11:56.943532') AND (("spree_promotions"."code" IS NULL AND "spree_promotions"."path" IS NULL OR "spree_orders_promotions"."order_id" = 4))
Spree::Adjustment Load (0.3ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::PromotionAction' [["adjustable_id", 4], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.3ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::PromotionAction' AND "spree_adjustments"."eligible" = 't' ORDER BY amount ASC, created_at DESC, id DESC LIMIT 1 [["adjustable_id", 4], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.2ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::TaxRate' AND "spree_adjustments"."included" = 't' [["adjustable_id", 4], ["adjustable_type", "Spree::LineItem"]]
Spree::Adjustment Load (0.2ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::TaxRate' AND "spree_adjustments"."included" = 'f' [["adjustable_id", 4], ["adjustable_type", "Spree::LineItem"]]
SQL (0.5ms) UPDATE "spree_line_items" SET "promo_total" = 0.0, "included_tax_total" = 0, "additional_tax_total" = 0, "adjustment_total" = 0.0, "updated_at" = '2014-11-21 18:11:56.949971' WHERE "spree_line_items"."id" = 4
(0.2ms) SELECT SUM("spree_line_items"."quantity") AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.3ms) SELECT SUM("spree_payments"."amount") AS sum_id FROM "spree_payments" WHERE "spree_payments"."order_id" = $1 AND "spree_payments"."state" = 'completed' [["order_id", 4]]
(0.2ms) SELECT SUM(price * quantity) AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_shipments"."cost") AS sum_id FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 [["order_id", 4]]
Spree::Adjustment Load (0.4ms) SELECT "spree_adjustments".* FROM "spree_adjustments" WHERE (order_id = 4 OR (adjustable_id = 4 AND adjustable_type = 'Spree::Order'))
(0.2ms) SELECT SUM("spree_line_items"."adjustment_total") AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_shipments"."adjustment_total") AS sum_id FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 [["order_id", 4]]
(0.3ms) SELECT SUM("spree_adjustments"."amount") AS sum_id FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."eligible" = 't' [["adjustable_id", 4], ["adjustable_type", "Spree::Order"]]
(0.2ms) SELECT SUM("spree_line_items"."included_tax_total") AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_shipments"."included_tax_total") AS sum_id FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_line_items"."additional_tax_total") AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_shipments"."additional_tax_total") AS sum_id FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_line_items"."promo_total") AS sum_id FROM "spree_line_items" WHERE "spree_line_items"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_shipments"."promo_total") AS sum_id FROM "spree_shipments" WHERE "spree_shipments"."order_id" = $1 [["order_id", 4]]
(0.2ms) SELECT SUM("spree_adjustments"."amount") AS sum_id FROM "spree_adjustments" WHERE "spree_adjustments"."adjustable_id" = $1 AND "spree_adjustments"."adjustable_type" = $2 AND "spree_adjustments"."source_type" = 'Spree::PromotionAction' AND "spree_adjustments"."eligible" = 't' [["adjustable_id", 4], ["adjustable_type", "Spree::Order"]]
SQL (0.7ms) UPDATE "spree_orders" SET "payment_state" = NULL, "shipment_state" = NULL, "item_total" = 15.99, "item_count" = 1, "adjustment_total" = 0.0, "included_tax_total" = 0.0, "additional_tax_total" = 0.0, "payment_total" = 0.0, "shipment_total" = 0.0, "promo_total" = 0.0, "total" = 15.99, "updated_at" = '2014-11-21 18:11:56.966465' WHERE "spree_orders"."id" = 4
Spree::Order Load (0.3ms) SELECT "spree_orders".* FROM "spree_orders" WHERE "spree_orders"."id" = $1 LIMIT 1 [["id", 4]]

Review branch

Calculating -------------------------------------
                 add     4.000  i/100ms
-------------------------------------------------
                 add     50.481  (± 9.9%) i/s -    252.000
                 
                 

Calculating -------------------------------------
                 add     4.000  i/100ms
-------------------------------------------------
                 add     51.925  (± 5.8%) i/s -    260.000
                 
                 


Calculating -------------------------------------
                 add     4.000  i/100ms
-------------------------------------------------
                 add     52.876  (± 5.7%) i/s -    264.000
                 

Current master branch

Calculating -------------------------------------
                 add     1.000  i/100ms
-------------------------------------------------
                 add     20.225  (± 4.9%) i/s -    101.000


Calculating -------------------------------------
                 add     1.000  i/100ms
-------------------------------------------------
                 add     18.056  (±11.1%) i/s -     90.000

Calculating -------------------------------------
                 add     1.000  i/100ms
-------------------------------------------------
                 add     19.369  (±10.3%) i/s -     96.000

Benchmarks from this ruby script

require 'benchmark/ips'

require File.expand_path("../config/environment", __FILE__)

module Spree
  order = Spree::Order.create
  variant = Spree::Variant.find(2)

  Benchmark.ips do |b|
    b.report("add") do |times|
      while times > 0
      # ActiveRecord::Base.logger = Logger.new(STDOUT)
        order.contents.add variant
        times -= 1
      end
    end
  end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment