mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-07-14 00:01:30 -04:00
286 lines
8.0 KiB
Plaintext
286 lines
8.0 KiB
Plaintext
CREATE OR REPLACE package body cm_persister
|
|
as
|
|
|
|
procedure update_auction_locations (p_location_id VAOFSTRING,
|
|
p_location_name VAOFSTRING,
|
|
p_owner_id VAOFSTRING,
|
|
p_sales_tax VAOFNUMBER,
|
|
p_sales_tax_bank_id VAOFSTRING,
|
|
p_empty_date VAOFNUMBER,
|
|
p_last_access_date VAOFNUMBER,
|
|
p_inactive_date VAOFNUMBER,
|
|
p_status VAOFNUMBER,
|
|
p_search_enabled VAOFSTRING,
|
|
p_entrance_charge VAOFNUMBER,
|
|
p_chunk_size number)
|
|
as
|
|
errors number;
|
|
dml_errors EXCEPTION;
|
|
PRAGMA exception_init(dml_errors, -24381);
|
|
begin
|
|
FORALL i in 1..p_chunk_size save exceptions
|
|
UPDATE AUCTION_LOCATIONS Set
|
|
location_name = DECODE(p_location_name(i), NULL, location_name, p_location_name(i)),
|
|
owner_id = DECODE(p_owner_id(i), NULL, owner_id, p_owner_id(i)),
|
|
sales_tax = DECODE(p_sales_tax(i), NULL, sales_tax, p_sales_tax(i)),
|
|
sales_tax_bank_id = DECODE(p_sales_tax_bank_id(i), NULL, sales_tax_bank_id, p_sales_tax_bank_id(i)),
|
|
empty_date = DECODE(p_empty_date(i), NULL, empty_date, p_empty_date(i)),
|
|
last_access_date = DECODE(p_last_access_date(i), NULL, last_access_date, p_last_access_date(i)),
|
|
inactive_date = DECODE(p_inactive_date(i), NULL, inactive_date, p_inactive_date(i)),
|
|
status = DECODE(p_status(i), NULL, status, p_status(i)),
|
|
search_enabled = DECODE(p_search_enabled(i), NULL, search_enabled, p_search_enabled(i)),
|
|
entrance_charge = DECODE(p_entrance_charge(i), NULL, entrance_charge, p_entrance_charge(i))
|
|
WHERE
|
|
location_id = p_location_id(i);
|
|
exception
|
|
when dml_errors then
|
|
errors := SQL%BULK_EXCEPTIONS.count;
|
|
end;
|
|
|
|
procedure insert_auction_locations (p_location_id VAOFSTRING,
|
|
p_location_name VAOFSTRING,
|
|
p_owner_id VAOFSTRING,
|
|
p_sales_tax VAOFNUMBER,
|
|
p_sales_tax_bank_id VAOFSTRING,
|
|
p_empty_date VAOFNUMBER,
|
|
p_last_access_date VAOFNUMBER,
|
|
p_inactive_date VAOFNUMBER,
|
|
p_status VAOFNUMBER,
|
|
p_search_enabled VAOFSTRING,
|
|
p_entrance_charge VAOFNUMBER,
|
|
p_chunk_size number)
|
|
as
|
|
errors number;
|
|
k number;
|
|
dml_errors EXCEPTION;
|
|
PRAGMA exception_init(dml_errors, -24381);
|
|
begin
|
|
FORALL i in 1..p_chunk_size save exceptions
|
|
INSERT into auction_locations (
|
|
location_id,
|
|
location_name,
|
|
owner_id,
|
|
sales_tax,
|
|
sales_tax_bank_id,
|
|
empty_date,
|
|
last_access_date,
|
|
inactive_date,
|
|
status,
|
|
search_enabled,
|
|
entrance_charge )
|
|
VALUES (
|
|
p_location_id(i),
|
|
p_location_name(i),
|
|
p_owner_id(i),
|
|
p_sales_tax(i),
|
|
p_sales_tax_bank_id(i),
|
|
p_empty_date(i),
|
|
p_last_access_date(i),
|
|
p_inactive_date(i),
|
|
p_status(i),
|
|
p_search_enabled(i),
|
|
p_entrance_charge(i) );
|
|
exception
|
|
when dml_errors then
|
|
errors := SQL%BULK_EXCEPTIONS.count;
|
|
for j in 1..errors loop
|
|
k := SQL%BULK_EXCEPTIONS(j).ERROR_INDEX;
|
|
UPDATE auction_locations Set
|
|
location_name = p_location_name(k),
|
|
owner_id = p_owner_id(k),
|
|
sales_tax = p_sales_tax(k),
|
|
sales_tax_bank_id = p_sales_tax_bank_id(k),
|
|
empty_date = p_empty_date(k),
|
|
last_access_date = p_last_access_date(k),
|
|
inactive_date = p_inactive_date(k),
|
|
status = p_status(k),
|
|
search_enabled = p_search_enabled(k),
|
|
entrance_charge = p_entrance_charge(k)
|
|
WHERE
|
|
location_id = p_location_id(k);
|
|
end loop;
|
|
end;
|
|
|
|
procedure delete_auction_locations (p_location_id VAOFSTRING, p_chunk_size number)
|
|
as
|
|
errors number;
|
|
dml_errors EXCEPTION;
|
|
PRAGMA exception_init(dml_errors, -24381);
|
|
begin
|
|
FORALL i in 1..p_chunk_size save exceptions
|
|
delete from auction_locations
|
|
where location_id = p_location_id(i);
|
|
exception
|
|
when dml_errors then
|
|
errors := SQL%BULK_EXCEPTIONS.count;
|
|
end;
|
|
|
|
procedure insert_market_auction_bids (p_item_id VAOFSTRING,
|
|
p_bidder_id VAOFSTRING,
|
|
p_bid VAOFNUMBER,
|
|
p_max_proxy_bid VAOFNUMBER,
|
|
p_chunk_size number)
|
|
as
|
|
errors number;
|
|
k number;
|
|
dml_errors EXCEPTION;
|
|
PRAGMA exception_init(dml_errors, -24381);
|
|
begin
|
|
FORALL i in 1..p_chunk_size save exceptions
|
|
INSERT into market_auction_bids (
|
|
item_id,
|
|
bidder_id,
|
|
bid,
|
|
max_proxy_bid )
|
|
VALUES (
|
|
p_item_id(i),
|
|
p_bidder_id(i),
|
|
p_bid(i),
|
|
p_max_proxy_bid(i) );
|
|
exception
|
|
when dml_errors then
|
|
errors := SQL%BULK_EXCEPTIONS.count;
|
|
for j in 1..errors loop
|
|
k := SQL%BULK_EXCEPTIONS(j).ERROR_INDEX;
|
|
UPDATE market_auction_bids Set
|
|
bidder_id = p_bidder_id(k),
|
|
bid = p_bid(k),
|
|
max_proxy_bid = p_max_proxy_bid(k)
|
|
WHERE
|
|
item_id = p_item_id(k);
|
|
end loop;
|
|
end;
|
|
|
|
procedure update_market_auctions (p_item_id VAOFSTRING,
|
|
p_owner_id VAOFSTRING,
|
|
p_active VAOFNUMBER,
|
|
p_chunk_size number)
|
|
as
|
|
errors number;
|
|
dml_errors EXCEPTION;
|
|
PRAGMA exception_init(dml_errors, -24381);
|
|
begin
|
|
FORALL i in 1..p_chunk_size save exceptions
|
|
UPDATE market_auctions Set
|
|
owner_id = DECODE(p_owner_id(i), NULL, owner_id, p_owner_id(i)),
|
|
active = DECODE(p_active(i), NULL, active, p_active(i))
|
|
WHERE
|
|
item_id = p_item_id(i);
|
|
exception
|
|
when dml_errors then
|
|
errors := SQL%BULK_EXCEPTIONS.count;
|
|
end;
|
|
|
|
procedure insert_market_auctions (p_item_id VAOFSTRING,
|
|
p_owner_id VAOFSTRING,
|
|
p_creator_id VAOFSTRING,
|
|
p_location_id VAOFSTRING,
|
|
p_min_bid VAOFNUMBER,
|
|
p_buy_now_price VAOFNUMBER,
|
|
p_auction_timer VAOFNUMBER,
|
|
p_oob VAOFLONGSTRING,
|
|
p_user_description VAOFLONGSTRING,
|
|
p_category VAOFNUMBER,
|
|
p_item_name VAOFLONGSTRING,
|
|
p_item_timer VAOFNUMBER,
|
|
p_active VAOFNUMBER,
|
|
p_item_size VAOFNUMBER,
|
|
p_object_template_id VAOFNUMBER,
|
|
p_chunk_size number)
|
|
as
|
|
errors number;
|
|
k number;
|
|
dml_errors EXCEPTION;
|
|
PRAGMA exception_init(dml_errors, -24381);
|
|
begin
|
|
FORALL i in 1..p_chunk_size save exceptions
|
|
INSERT into market_auctions (
|
|
item_id,
|
|
owner_id,
|
|
creator_id,
|
|
location_id,
|
|
min_bid,
|
|
buy_now_price,
|
|
auction_timer,
|
|
oob,
|
|
user_description,
|
|
category,
|
|
item_name,
|
|
item_timer,
|
|
active,
|
|
item_size,
|
|
object_template_id )
|
|
VALUES (
|
|
p_item_id(i),
|
|
p_owner_id(i),
|
|
p_creator_id(i),
|
|
p_location_id(i),
|
|
p_min_bid(i),
|
|
p_buy_now_price(i),
|
|
p_auction_timer(i),
|
|
p_oob(i),
|
|
p_user_description(i),
|
|
p_category(i),
|
|
p_item_name(i),
|
|
p_item_timer(i),
|
|
p_active(i),
|
|
p_item_size(i),
|
|
p_object_template_id(i) );
|
|
exception
|
|
when dml_errors then
|
|
errors := SQL%BULK_EXCEPTIONS.count;
|
|
for j in 1..errors loop
|
|
k := SQL%BULK_EXCEPTIONS(j).ERROR_INDEX;
|
|
UPDATE market_auctions Set
|
|
owner_id = p_owner_id(k),
|
|
creator_id = p_creator_id(k),
|
|
location_id = p_location_id(k),
|
|
min_bid = p_min_bid(k),
|
|
buy_now_price = p_buy_now_price(k),
|
|
auction_timer = p_auction_timer(k),
|
|
oob = p_oob(k),
|
|
user_description = p_user_description(k),
|
|
category = p_category(k),
|
|
item_name = p_item_name(k),
|
|
item_timer = p_item_timer(k),
|
|
active = p_active(k),
|
|
item_size = p_item_size(k),
|
|
object_template_id = p_object_template_id(k)
|
|
WHERE
|
|
item_id = p_item_id(k);
|
|
end loop;
|
|
end;
|
|
|
|
procedure delete_market_auctions (p_item_id VAOFSTRING, p_chunk_size number)
|
|
as
|
|
errors number;
|
|
dml_errors EXCEPTION;
|
|
PRAGMA exception_init(dml_errors, -24381);
|
|
begin
|
|
FORALL i in 1..p_chunk_size save exceptions
|
|
delete from market_auction_attributes
|
|
where item_id = p_item_id(i);
|
|
|
|
FORALL i in 1..p_chunk_size save exceptions
|
|
delete from market_auctions
|
|
where item_id = p_item_id(i);
|
|
--exception
|
|
--when dml_errors then
|
|
--errors := SQL%BULK_EXCEPTIONS.count;
|
|
end;
|
|
|
|
procedure insert_auction_attributes (p_item_id VAOFSTRING, p_attribute_name VAOFSTRING, p_attribute_value VAOFSTRING, p_chunk_size number)
|
|
as
|
|
dml_errors EXCEPTION;
|
|
PRAGMA exception_init(dml_errors, -24381);
|
|
begin
|
|
FORALL i in 1..p_chunk_size save exceptions
|
|
insert into market_auction_attributes (item_id, attribute_name, attribute_value)
|
|
values (p_item_id(i), p_attribute_name(i), p_attribute_value(i));
|
|
exception when dml_errors then
|
|
null;
|
|
end;
|
|
end;
|
|
/
|
|
|