Files
FT546MWS/fortucky-algorithm/src/main/resources/db/sqlserver/diagnostics-shadow.sql

81 lines
3.3 KiB
SQL

/* Read-only field diagnostics and export queries for the FT546 shadow package. */
SET NOCOUNT ON;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT CAST(SERVERPROPERTY('ProductVersion') AS varchar(30)) AS product_version,
DB_NAME() AS database_name,
SYSUTCDATETIME() AS checked_at_utc;
SELECT package_id, package_version, installed_at
FROM alg.shadow_package_manifest;
SELECT schema_name(object.schema_id) AS schema_name,
object.name AS object_name,
object.type_desc
FROM sys.objects object
WHERE schema_name(object.schema_id) = N'alg'
ORDER BY schema_name(object.schema_id), object.type_desc, object.name;
SELECT warehouse_id,
COUNT(*) AS lane_state_count,
SUM(CASE WHEN pending_outbound = 1 THEN 1 ELSE 0 END) AS pending_lane_count,
SUM(CASE WHEN has_gap = 1 THEN 1 ELSE 0 END) AS gap_lane_count,
MAX(rebuilt_at) AS latest_rebuild_at
FROM alg.lane_state
GROUP BY warehouse_id
ORDER BY warehouse_id;
SELECT warehouse_id,
COUNT(*) AS inventory_item_count,
COUNT(DISTINCT space_id) AS inventory_space_count,
MAX(synchronized_at) AS latest_inventory_sync_at
FROM alg.inventory_item_snapshot
GROUP BY warehouse_id
ORDER BY warehouse_id;
SELECT warehouse_id,
COUNT(*) AS space_state_count,
SUM(CASE WHEN inbound_available = 1 THEN 1 ELSE 0 END) AS inbound_available_count,
SUM(CASE WHEN pending_outbound = 1 THEN 1 ELSE 0 END) AS pending_outbound_count,
SUM(CASE WHEN tray_conflict = 1 OR project_conflict = 1 OR product_conflict = 1
THEN 1 ELSE 0 END) AS conflict_count
FROM alg.v_space_state
GROUP BY warehouse_id
ORDER BY warehouse_id;
/* Legacy checksums should remain stable apart from normal live traffic. */
SELECT 'bas_cargo_space' AS table_name,
COUNT_BIG(*) AS row_count,
CHECKSUM_AGG(BINARY_CHECKSUM(cargo_space_id, warehouse_id, group_coding_no,
group_coding, status, tray_code)) AS row_checksum
FROM dbo.bas_cargo_space
UNION ALL
SELECT 'bas_stock', COUNT_BIG(*),
CHECKSUM_AGG(BINARY_CHECKSUM(stock_id, cargo_space_id, tray_code, spare4,
product_id, lot_no, in_date))
FROM dbo.bas_stock
UNION ALL
SELECT 'mydo_job', COUNT_BIG(*),
CHECKSUM_AGG(BINARY_CHECKSUM(job_id, status, task_no, tray_code,
cargo_space_id, target_cargo_space_id,
in_or_out, warehouse_id))
FROM dbo.mydo_job;
/* Locks held on the three observed Legacy tables. */
SELECT request_session_id, resource_type, request_mode, request_status,
object_name(partition.object_id, lock.resource_database_id) AS object_name
FROM sys.dm_tran_locks lock
LEFT JOIN sys.partitions partition
ON partition.hobt_id = lock.resource_associated_entity_id
WHERE lock.resource_database_id = DB_ID()
AND object_name(partition.object_id, lock.resource_database_id)
IN (N'bas_cargo_space', N'bas_stock', N'mydo_job')
ORDER BY request_session_id, object_name, request_mode;
/* Export this result before uninstalling. */
SELECT decision_id, warehouse_id, decision_type, input_version,
result_code, reason, created_at
FROM alg.decision_log
WHERE decision_type IN ('INBOUND', 'OUTBOUND', 'INBOUND_COMPARE', 'OUTBOUND_COMPARE')
ORDER BY created_at, decision_id;