Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ActiveRecord::StatementInvalid
- PG::SyntaxError: ERROR: syntax error at or near "DESC" LINE 5: ("suppliercode" = 'AXIUM') DESC, ^ : SELECT "id", row_number() OVER (ORDER BY "id") AS "ave_rank_val" FROM (SELECT "id", "suppliercode", "supplier_id", "pharmacy_price", row_number() OVER (PARTITION BY "product_id" ORDER BY( ("suppliercode" = 'AXIUM') DESC, ("preferred" IS TRUE) AND ("suppliercode" NOT IN ('UNIPHAR', 'UNITED', 'AXIUM'))) DESC, ("suppliercode" IN ('UNIPHAR', 'UNITED', 'AXIUM')) DESC, "pharmacy_price", "id") AS "position" FROM (SELECT DISTINCT "offers".*, suppliers.code AS suppliercode, (offers.preferred = true AND suppliers.code NOT IN ('UNIPHAR', 'UNITED', 'AXIUM')) AS offerpreferredflag, (suppliers.code IN ('UNIPHAR', 'UNITED', 'AXIUM')) AS supplierwhosalersflag, ROUND(CAST(COALESCE(bp.price, case_cost) / products.units_in_case AS NUMERIC), 2) AS pharmacy_price, (suppliers.code = 'AXIUM') AS axium_preferred FROM "offers" INNER JOIN "products" ON "products"."id" = "offers"."product_id" INNER JOIN "suppliers" ON "suppliers"."id" = "offers"."supplier_id" INNER JOIN "pharmacy_suppliers" ON "pharmacy_suppliers"."supplier_id" = "suppliers"."id" LEFT JOIN bonus_prices AS bp ON bp.offer_id = offers.id AND NOW() BETWEEN bp.start_date AND bp.end_date JOIN stock_infos base_stock ON base_stock.offer_id = offers.id AND base_stock.depot_id IS NULL LEFT JOIN stock_infos depot_stock ON depot_stock.offer_id = offers.id AND depot_stock.depot_id IN (8) AND suppliers.code NOT IN ('UNIPHAR', 'AXIUM') LEFT JOIN stock_infos distributed_stock ON distributed_stock.offer_id = offers.id AND distributed_stock.depot_id IN (8) AND suppliers.code IN ('UNIPHAR', 'AXIUM') WHERE "offers"."archived_at" IS NULL AND "suppliers"."archived_at" IS NULL AND "pharmacy_suppliers"."pharmacy_id" = 55 AND "offers"."archived_at" IS NULL AND "products"."archived_at" IS NULL AND "pharmacy_suppliers"."archived_at" IS NULL AND ("pharmacy_suppliers"."order_account_code" IS NOT NULL) AND ("pharmacy_suppliers"."service_type" IS NOT NULL) AND ((suppliers.code NOT IN ('UNIPHAR', 'AXIUM') AND COALESCE(depot_stock.in_stock, base_stock.in_stock) IS true) OR (suppliers.code IN ('UNIPHAR', 'AXIUM') AND distributed_stock.in_stock IS true) ) ORDER BY axium_preferred DESC, offerpreferredflag DESC, supplierwhosalersflag DESC, pharmacy_price ASC, id ASC) AS "t1") AS t1 WHERE ("position" = 1) ORDER BY id limit 25 offset 0
- Extracted source (around line #20):
- 18
- 19
- 20
- 21
- 22
- 23
- final_query.concat(" ORDER BY id limit #{per_page} offset #{offset}")
- ActiveRecord::Base.connection.exec_query(final_query)
- end
- def best_ids_sql(query)
- Rails.root: /usr/src/app
- Application Trace | Framework Trace | Full Trace
- lib/offer_selector.rb:20:in `best_ids_from'
- app/finders/best_offers_finder.rb:61:in `finalize_collection'
- app/finders/best_offers_finder.rb:16:in `load_collection'
- app/finders/base_finder.rb:16:in `call'
- app/finders/base_finder.rb:7:in `call'
- app/finders/union_offers_collection_finder.rb:24:in `call'
- app/finders/base_finder.rb:7:in `call'
- app/controllers/api/v1/offer.rb:52:in `block (2 levels) in <class:Offer>'
- Request
- Parameters:
- {"q"=>{"department_id"=>"", "sub_department_id"=>"", "brand_id"=>"", "supplier_id"=>"", "search_query"=>"", "with_bonuses"=>""}, "per_page"=>"25", "page"=>"1"}
- Toggle session dump
- Toggle env dump
- Response
- Headers:
- None
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement