You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
synctv/.sqlx/query-6542f0b2d0a22a0109d21...

341 lines
12 KiB
JSON

{
"db_name": "PostgreSQL",
"query": "\n WITH claimed AS (\n SELECT metadata.room_id,\n metadata.media_id,\n metadata.playlist_id,\n metadata.target_hash\n FROM playback_source_metadata metadata\n JOIN room_playback_state state\n ON state.room_id = metadata.room_id\n AND state.playing_media_id IS NOT DISTINCT FROM metadata.media_id\n AND state.playing_playlist_id IS NOT DISTINCT FROM metadata.playlist_id\n JOIN room_playback_progress progress\n ON progress.id = state.current_progress_id\n AND progress.target_hash = metadata.target_hash\n WHERE state.room_id = ANY($5)\n AND (\n metadata.duration_status = ANY($1::smallint[])\n OR (\n metadata.duration_status = $2\n AND metadata.next_retry_at <= NOW()\n )\n )\n AND state.is_playing = TRUE\n AND metadata.playback_kind = $6\n AND metadata.duration_seconds IS NULL\n AND (metadata.next_retry_at IS NULL OR metadata.next_retry_at <= NOW())\n ORDER BY metadata.updated_at ASC\n LIMIT $3\n FOR UPDATE OF metadata SKIP LOCKED\n ),\n updated AS (\n UPDATE playback_source_metadata metadata\n SET duration_status = $4,\n duration_error = NULL,\n next_retry_at = NOW() + INTERVAL '5 minutes',\n version = metadata.version + 1\n FROM claimed\n WHERE metadata.room_id = claimed.room_id\n AND metadata.media_id IS NOT DISTINCT FROM claimed.media_id\n AND metadata.playlist_id IS NOT DISTINCT FROM claimed.playlist_id\n AND metadata.target_hash = claimed.target_hash\n RETURNING metadata.room_id,\n metadata.media_id,\n metadata.playlist_id,\n metadata.target_hash,\n metadata.media_name,\n metadata.playlist_name,\n metadata.playback_kind,\n metadata.duration_seconds,\n metadata.duration_status,\n metadata.duration_source,\n metadata.duration_error,\n metadata.next_retry_at,\n metadata.created_at,\n metadata.updated_at,\n metadata.version\n )\n SELECT updated.room_id AS \"metadata_room_id!: RoomId\",\n updated.media_id AS \"metadata_media_id?: MediaId\",\n updated.playlist_id AS \"metadata_playlist_id?: PlaylistId\",\n updated.target_hash AS \"metadata_target_hash!\",\n updated.media_name AS metadata_media_name,\n updated.playlist_name AS metadata_playlist_name,\n updated.playback_kind AS \"metadata_playback_kind!: PlaybackKind\",\n updated.duration_seconds,\n updated.duration_status AS \"metadata_duration_status!: PlaybackDurationStatus\",\n updated.duration_source AS \"metadata_duration_source?: PlaybackDurationSource\",\n updated.duration_error,\n updated.next_retry_at,\n updated.created_at AS \"metadata_created_at!\",\n updated.updated_at AS \"metadata_updated_at!\",\n updated.version AS \"metadata_version!\",\n state.room_id AS \"state_room_id!: RoomId\",\n state.playing_media_id AS \"state_playing_media_id?: MediaId\",\n state.playing_playlist_id AS \"state_playing_playlist_id?: PlaylistId\",\n state.target AS \"state_target?: ProviderTarget\",\n state.current_progress_id AS state_current_progress_id,\n state.history_cursor_id AS state_history_cursor_id,\n COALESCE(progress.\"position\", 0.0) AS \"state_position!\",\n state.speed AS \"state_speed!\",\n state.is_playing AS \"state_is_playing!\",\n state.playback_generation AS \"state_playback_generation!\",\n state.updated_at AS \"state_updated_at!\",\n state.version AS \"state_version!\"\n FROM updated\n JOIN room_playback_state state\n ON state.room_id = updated.room_id\n AND state.playing_media_id IS NOT DISTINCT FROM updated.media_id\n AND state.playing_playlist_id IS NOT DISTINCT FROM updated.playlist_id\n JOIN room_playback_progress progress\n ON progress.id = state.current_progress_id\n AND progress.target_hash = updated.target_hash\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "metadata_room_id!: RoomId",
"type_info": "Int8",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "room_id"
}
}
},
{
"ordinal": 1,
"name": "metadata_media_id?: MediaId",
"type_info": "Int8",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "media_id"
}
}
},
{
"ordinal": 2,
"name": "metadata_playlist_id?: PlaylistId",
"type_info": "Int8",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "playlist_id"
}
}
},
{
"ordinal": 3,
"name": "metadata_target_hash!",
"type_info": "Text",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "target_hash"
}
}
},
{
"ordinal": 4,
"name": "metadata_media_name",
"type_info": "Text",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "media_name"
}
}
},
{
"ordinal": 5,
"name": "metadata_playlist_name",
"type_info": "Text",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "playlist_name"
}
}
},
{
"ordinal": 6,
"name": "metadata_playback_kind!: PlaybackKind",
"type_info": "Int2",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "playback_kind"
}
}
},
{
"ordinal": 7,
"name": "duration_seconds",
"type_info": "Float8",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "duration_seconds"
}
}
},
{
"ordinal": 8,
"name": "metadata_duration_status!: PlaybackDurationStatus",
"type_info": "Int2",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "duration_status"
}
}
},
{
"ordinal": 9,
"name": "metadata_duration_source?: PlaybackDurationSource",
"type_info": "Int2",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "duration_source"
}
}
},
{
"ordinal": 10,
"name": "duration_error",
"type_info": "Text",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "duration_error"
}
}
},
{
"ordinal": 11,
"name": "next_retry_at",
"type_info": "Timestamptz",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "next_retry_at"
}
}
},
{
"ordinal": 12,
"name": "metadata_created_at!",
"type_info": "Timestamptz",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "created_at"
}
}
},
{
"ordinal": 13,
"name": "metadata_updated_at!",
"type_info": "Timestamptz",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "updated_at"
}
}
},
{
"ordinal": 14,
"name": "metadata_version!",
"type_info": "Int8",
"origin": {
"Table": {
"table": "playback_source_metadata",
"name": "version"
}
}
},
{
"ordinal": 15,
"name": "state_room_id!: RoomId",
"type_info": "Int8",
"origin": {
"Table": {
"table": "room_playback_state",
"name": "room_id"
}
}
},
{
"ordinal": 16,
"name": "state_playing_media_id?: MediaId",
"type_info": "Int8",
"origin": {
"Table": {
"table": "room_playback_state",
"name": "playing_media_id"
}
}
},
{
"ordinal": 17,
"name": "state_playing_playlist_id?: PlaylistId",
"type_info": "Int8",
"origin": {
"Table": {
"table": "room_playback_state",
"name": "playing_playlist_id"
}
}
},
{
"ordinal": 18,
"name": "state_target?: ProviderTarget",
"type_info": "Jsonb",
"origin": {
"Table": {
"table": "room_playback_state",
"name": "target"
}
}
},
{
"ordinal": 19,
"name": "state_current_progress_id",
"type_info": "Int8",
"origin": {
"Table": {
"table": "room_playback_state",
"name": "current_progress_id"
}
}
},
{
"ordinal": 20,
"name": "state_history_cursor_id",
"type_info": "Int8",
"origin": {
"Table": {
"table": "room_playback_state",
"name": "history_cursor_id"
}
}
},
{
"ordinal": 21,
"name": "state_position!",
"type_info": "Float8",
"origin": "Expression"
},
{
"ordinal": 22,
"name": "state_speed!",
"type_info": "Float8",
"origin": {
"Table": {
"table": "room_playback_state",
"name": "speed"
}
}
},
{
"ordinal": 23,
"name": "state_is_playing!",
"type_info": "Bool",
"origin": {
"Table": {
"table": "room_playback_state",
"name": "is_playing"
}
}
},
{
"ordinal": 24,
"name": "state_playback_generation!",
"type_info": "Int8",
"origin": {
"Table": {
"table": "room_playback_state",
"name": "playback_generation"
}
}
},
{
"ordinal": 25,
"name": "state_updated_at!",
"type_info": "Timestamptz",
"origin": {
"Table": {
"table": "room_playback_state",
"name": "updated_at"
}
}
},
{
"ordinal": 26,
"name": "state_version!",
"type_info": "Int8",
"origin": {
"Table": {
"table": "room_playback_state",
"name": "version"
}
}
}
],
"parameters": {
"Left": [
"Int2Array",
"Int2",
"Int8",
"Int2",
"Int8Array",
"Int2"
]
},
"nullable": [
false,
true,
true,
false,
true,
true,
false,
true,
false,
true,
true,
true,
false,
false,
false,
false,
true,
true,
true,
true,
true,
null,
false,
false,
false,
false,
false
]
},
"hash": "6542f0b2d0a22a0109d2185b29972350bb26101e5f95d73bd8388a5ed64b5d49"
}