mirror of https://github.com/synctv-org/synctv
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.
206 lines
8.9 KiB
JSON
206 lines
8.9 KiB
JSON
|
2 months ago
|
{
|
||
|
|
"db_name": "PostgreSQL",
|
||
|
|
"query": "\n INSERT INTO playback_source_metadata (\n room_id,\n media_id,\n playlist_id,\n target_hash,\n media_name,\n playlist_name,\n playback_kind,\n duration_seconds,\n duration_status,\n duration_source,\n duration_error,\n next_retry_at\n )\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, NULL, NULL)\n ON CONFLICT (\n room_id,\n COALESCE(media_id, 0),\n COALESCE(playlist_id, 0),\n target_hash\n )\n DO UPDATE SET media_name = COALESCE(EXCLUDED.media_name, playback_source_metadata.media_name),\n playlist_name = COALESCE(EXCLUDED.playlist_name, playback_source_metadata.playlist_name),\n playback_kind = EXCLUDED.playback_kind,\n duration_seconds = EXCLUDED.duration_seconds,\n duration_status = EXCLUDED.duration_status,\n duration_source = EXCLUDED.duration_source,\n duration_error = CASE\n WHEN playback_source_metadata.playback_kind IS DISTINCT FROM EXCLUDED.playback_kind\n OR playback_source_metadata.duration_seconds IS DISTINCT FROM EXCLUDED.duration_seconds\n OR playback_source_metadata.duration_status IS DISTINCT FROM EXCLUDED.duration_status\n OR playback_source_metadata.duration_source IS DISTINCT FROM EXCLUDED.duration_source\n THEN NULL\n ELSE playback_source_metadata.duration_error\n END,\n next_retry_at = CASE\n WHEN playback_source_metadata.playback_kind IS DISTINCT FROM EXCLUDED.playback_kind\n OR playback_source_metadata.duration_seconds IS DISTINCT FROM EXCLUDED.duration_seconds\n OR playback_source_metadata.duration_status IS DISTINCT FROM EXCLUDED.duration_status\n OR playback_source_metadata.duration_source IS DISTINCT FROM EXCLUDED.duration_source\n THEN NULL\n ELSE playback_source_metadata.next_retry_at\n END,\n version = CASE\n WHEN playback_source_metadata.playback_kind IS DISTINCT FROM EXCLUDED.playback_kind\n OR playback_source_metadata.duration_seconds IS DISTINCT FROM EXCLUDED.duration_seconds\n OR playback_source_metadata.duration_status IS DISTINCT FROM EXCLUDED.duration_status\n OR playback_source_metadata.duration_source IS DISTINCT FROM EXCLUDED.duration_source\n THEN playback_source_metadata.version + 1\n ELSE playback_source_metadata.version\n END\n WHERE playback_source_metadata.playback_kind IS DISTINCT FROM EXCLUDED.playback_kind\n OR playback_source_metadata.duration_seconds IS DISTINCT FROM EXCLUDED.duration_seconds\n OR playback_source_metadata.duration_status IS DISTINCT FROM EXCLUDED.duration_status\n OR playback_source_metadata.duration_source IS DISTINCT FROM EXCLUDED.duration_source\n OR playback_source_metadata.media_name IS DISTINCT FROM EXCLUDED.media_name\n OR playback_source_metadata.playlist_name IS DISTINCT FROM EXCLUDED.playlist_name\n OR playback_source_metadata.updated_at <= NOW() - INTERVAL '60 seconds'\n RETURNING room_id AS \"room_id!: RoomId\",\n media_id AS \"media_id?: MediaId\",\n playlist_id AS \"playlist_id
|
||
|
|
"describe": {
|
||
|
|
"columns": [
|
||
|
|
{
|
||
|
|
"ordinal": 0,
|
||
|
|
"name": "room_id!: RoomId",
|
||
|
|
"type_info": "Int8",
|
||
|
|
"origin": {
|
||
|
|
"Table": {
|
||
|
|
"table": "playback_source_metadata",
|
||
|
|
"name": "room_id"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"ordinal": 1,
|
||
|
|
"name": "media_id?: MediaId",
|
||
|
|
"type_info": "Int8",
|
||
|
|
"origin": {
|
||
|
|
"Table": {
|
||
|
|
"table": "playback_source_metadata",
|
||
|
|
"name": "media_id"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"ordinal": 2,
|
||
|
|
"name": "playlist_id?: PlaylistId",
|
||
|
|
"type_info": "Int8",
|
||
|
|
"origin": {
|
||
|
|
"Table": {
|
||
|
|
"table": "playback_source_metadata",
|
||
|
|
"name": "playlist_id"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"ordinal": 3,
|
||
|
|
"name": "target_hash",
|
||
|
|
"type_info": "Text",
|
||
|
|
"origin": {
|
||
|
|
"Table": {
|
||
|
|
"table": "playback_source_metadata",
|
||
|
|
"name": "target_hash"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"ordinal": 4,
|
||
|
|
"name": "media_name",
|
||
|
|
"type_info": "Text",
|
||
|
|
"origin": {
|
||
|
|
"Table": {
|
||
|
|
"table": "playback_source_metadata",
|
||
|
|
"name": "media_name"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"ordinal": 5,
|
||
|
|
"name": "playlist_name",
|
||
|
|
"type_info": "Text",
|
||
|
|
"origin": {
|
||
|
|
"Table": {
|
||
|
|
"table": "playback_source_metadata",
|
||
|
|
"name": "playlist_name"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"ordinal": 6,
|
||
|
|
"name": "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": "duration_status!: PlaybackDurationStatus",
|
||
|
|
"type_info": "Int2",
|
||
|
|
"origin": {
|
||
|
|
"Table": {
|
||
|
|
"table": "playback_source_metadata",
|
||
|
|
"name": "duration_status"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"ordinal": 9,
|
||
|
|
"name": "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": "created_at",
|
||
|
|
"type_info": "Timestamptz",
|
||
|
|
"origin": {
|
||
|
|
"Table": {
|
||
|
|
"table": "playback_source_metadata",
|
||
|
|
"name": "created_at"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"ordinal": 13,
|
||
|
|
"name": "updated_at",
|
||
|
|
"type_info": "Timestamptz",
|
||
|
|
"origin": {
|
||
|
|
"Table": {
|
||
|
|
"table": "playback_source_metadata",
|
||
|
|
"name": "updated_at"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"ordinal": 14,
|
||
|
|
"name": "version",
|
||
|
|
"type_info": "Int8",
|
||
|
|
"origin": {
|
||
|
|
"Table": {
|
||
|
|
"table": "playback_source_metadata",
|
||
|
|
"name": "version"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"parameters": {
|
||
|
|
"Left": [
|
||
|
|
"Int8",
|
||
|
|
"Int8",
|
||
|
|
"Int8",
|
||
|
|
"Text",
|
||
|
|
"Text",
|
||
|
|
"Text",
|
||
|
|
"Int2",
|
||
|
|
"Float8",
|
||
|
|
"Int2",
|
||
|
|
"Int2"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"nullable": [
|
||
|
|
false,
|
||
|
|
true,
|
||
|
|
true,
|
||
|
|
false,
|
||
|
|
true,
|
||
|
|
true,
|
||
|
|
false,
|
||
|
|
true,
|
||
|
|
false,
|
||
|
|
true,
|
||
|
|
true,
|
||
|
|
true,
|
||
|
|
false,
|
||
|
|
false,
|
||
|
|
false
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"hash": "eed01d19bc29839137570be7bc0df9cc9b7c9dafd04f5fc098d3c060cd19b26a"
|
||
|
|
}
|