I love the responsibility for as long as it comes together with authority....
Anyway, this is the full log from the mobilink server when a row in the problematic table is updated.
If there is a way to make the server use the column names in the script, instead of their presumed order in the upload, I would really like to know what it is.
//-----------------------------------------------------
I. 2015-06-15 21:59:44. <37> begin_upload_rows t068_packages (no script)
I. 2015-06-15 21:59:44. <37> upload_update t068_packages
/* Update the row in the consolidated database. */
INSERT INTO "DBA"."t068_packages" ( "c_hotel_id", "c_package_id", "c_promotion_name", "c_description", "c_price_code", "c_plan", "c_start_date", "c_end_date", "c_display_from_date", "c_display_end_date", "c_valid_on_sun", "c_valid_on_mon", "c_valid_on_tue", "c_valid_on_wed", "c_valid_on_thu", "c_valid_on_fri", "c_valid_on_sat", "c_arrive_sun", "c_arrive_mon", "c_arrive_tue", "c_arrive_wed", "c_arrive_thu", "c_arrive_fri", "c_arrive_sat", "c_max_bulk", "c_open_sale", "c_display_order", "c_min_los", "c_max_los", "c_charge_1st_night", "c_old_price_single", "c_old_price_double", "c_single_only", "c_pms_cattype", "c_agent_id", "c_discount_day01", "c_discount_day02", "c_discount_day03", "c_discount_day04", "c_discount_day05", "c_discount_day06", "c_discount_day07", "c_created", "c_last_modified_date", "c_consider_agents_discount", "c_consider_home_site_discount", "c_parent_package", "c_wing", "c_currency", "c_categories", "c_local_currency", "c_price_for_show", "c_old_price_for_show", "c_allow_extra_dates", "c_permit_for_agents", "c_without_prices", "c_old_price_to_show_on_web", "c_deny_for_customer_group", "c_permit_for_homesite", "c_exclude_dates", "c_new_price_to_show_on_web" )
on existing update
VALUES ( {ml r."c_hotel_id"}, {ml r."c_package_id"}, {ml r."c_promotion_name"}, {ml r."c_description"}, {ml r."c_price_code"}, {ml r."c_plan"}, {ml r."c_start_date"}, {ml r."c_end_date"}, {ml r."c_display_from_date"}, {ml r."c_display_end_date"}, {ml r."c_valid_on_sun"}, {ml r."c_valid_on_mon"}, {ml r."c_valid_on_tue"}, {ml r."c_valid_on_wed"}, {ml r."c_valid_on_thu"}, {ml r."c_valid_on_fri"}, {ml r."c_valid_on_sat"}, {ml r."c_arrive_sun"}, {ml r."c_arrive_mon"}, {ml r."c_arrive_tue"}, {ml r."c_arrive_wed"}, {ml r."c_arrive_thu"}, {ml r."c_arrive_fri"}, {ml r."c_arrive_sat"}, {ml r."c_max_bulk"}, {ml r."c_open_sale"}, {ml r."c_display_order"}, {ml r."c_min_los"}, {ml r."c_max_los"}, {ml r."c_charge_1st_night"}, {ml r."c_old_price_single"}, {ml r."c_old_price_double"}, {ml r."c_single_only"}, {ml r."c_pms_cattype"}, {ml r."c_agent_id"}, {ml r."c_discount_day01"}, {ml r."c_discount_day02"}, {ml r."c_discount_day03"}, {ml r."c_discount_day04"}, {ml r."c_discount_day05"}, {ml r."c_discount_day06"}, {ml r."c_discount_day07"}, {ml r."c_created"}, {ml r."c_last_modified_date"}, {ml r."c_consider_agents_discount"}, {ml r."c_consider_home_site_discount"}, {ml r."c_parent_package"}, {ml r."c_wing"}, {ml r."c_currency"}, {ml r."c_categories"}, {ml r."c_local_currency"}, {ml r."c_price_for_show"}, {ml r."c_old_price_for_show"}, {ml r."c_allow_extra_dates"}, {ml r."c_permit_for_agents"}, {ml r."c_without_prices"}, {ml r."c_old_price_to_show_on_web"}, {ml r."c_deny_for_customer_group"}, {ml r."c_permit_for_homesite"}, {ml r."c_exclude_dates"}, {ml r."c_new_price_to_show_on_web"} )
I. 2015-06-15 21:59:44. <37> Translated SQL:
INSERT INTO "DBA"."t068_packages" ( "c_hotel_id", "c_package_id", "c_promotion_name", "c_description", "c_price_code", "c_plan", "c_start_date", "c_end_date", "c_display_from_date", "c_display_end_date", "c_valid_on_sun", "c_valid_on_mon", "c_valid_on_tue", "c_valid_on_wed", "c_valid_on_thu", "c_valid_on_fri", "c_valid_on_sat", "c_arrive_sun", "c_arrive_mon", "c_arrive_tue", "c_arrive_wed", "c_arrive_thu", "c_arrive_fri", "c_arrive_sat", "c_max_bulk", "c_open_sale", "c_display_order", "c_min_los", "c_max_los", "c_charge_1st_night", "c_old_price_single", "c_old_price_double", "c_single_only", "c_pms_cattype", "c_agent_id", "c_discount_day01", "c_discount_day02", "c_discount_day03", "c_discount_day04", "c_discount_day05", "c_discount_day06", "c_discount_day07", "c_created", "c_last_modified_date", "c_consider_agents_discount", "c_consider_home_site_discount", "c_parent_package", "c_wing", "c_currency", "c_categories", "c_local_currency", "c_price_for_show", "c_old_price_for_show", "c_allow_extra_dates", "c_permit_for_agents", "c_without_prices", "c_old_price_to_show_on_web", "c_deny_for_customer_group", "c_permit_for_homesite", "c_exclude_dates", "c_new_price_to_show_on_web" )
on existing update
VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )
And now all columns arrive as numbers and values, instead of name-value pairs. So, if in some production DBs the column ordering is different than from the development DB, the wrong values are applied to wrong columns
I. 2015-06-15 21:59:44. <37> Update row (new remote values) [t068_packages]:
I. 2015-06-15 21:59:44. <37> 10010
I. 2015-06-15 21:59:44. <37> 2826
I. 2015-06-15 21:59:44. <37> HONY6
I. 2015-06-15 21:59:44. <37> חבילת ליל כלולות 26-5-30-6
I. 2015-06-15 21:59:44. <37> isr fit14
I. 2015-06-15 21:59:44. <37> B/B
I. 2015-06-15 21:59:44. <37> 2015-05-26
I. 2015-06-15 21:59:44. <37> 2015-06-30
I. 2015-06-15 21:59:44. <37> 2012-04-16
I. 2015-06-15 21:59:44. <37> 2015-06-29
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 99
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> NULL
I. 2015-06-15 21:59:44. <37> NULL
I. 2015-06-15 21:59:44. <37> 1432.2
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 231ExecuKI
I. 2015-06-15 21:59:44. <37> NULL
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> NULL
I. 2015-06-15 21:59:44. <37> 2015-06-15 21:58:50.464000
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> NULL
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> NIS
I. 2015-06-15 21:59:44. <37> [4 Characters]
I. 2015-06-15 21:59:44. <37> 0x322C3130
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1689.996
I. 2015-06-15 21:59:44. <37> 1689.996
I. 2015-06-15 21:59:44. <37> [0 Characters]
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 1
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
I. 2015-06-15 21:59:44. <37> 0
//---------------------------------------------------