[mythtv-users] DB 'offset' problem with MariaDB in ubuntu 22.04

John Pilkington johnpilk222 at gmail.com
Thu Jan 25 20:38:06 UTC 2024


On 25/01/2024 16:14, John Pilkington wrote:
> On 24/01/2024 23:22, Gary Buhrmaster wrote:
>> On Wed, Jan 24, 2024 at 10:46 PM John Pilkington 
>> <johnpilk222 at gmail.com> wrote:
>>
>>> Is there a simple fix?
>>
>> Escape quote (backtick) the (now reserved) word `offset`.
>>
>> That was what the MythTV code itself did
>> to address the update.
> 
> Thanks, Gary and Hika.
> 
> I haven't yet got this working with MariaDB 10.6.12, with various random 
> changes in the field sequence and capitalisation.  Your suggested 
> changes in Fedora 38 (10.5) made it fail, but it still worked in el7 
> (!).  As Gary mentioned when this first came up, it's a precomputed 
> query.  Issue 373
> 
> Here's the current el7 trial version, with the suggested backticks.
> 
> mariadb-server-5.5.68-1.el7.x86_64
> 
> It works, at least with DVBradio.
> 
> John
> 
> 
> {{{
> lag=4        #  In frames.  Best value might depend on recording source, 
> MythTV version and seektable history.
> scope=2000   #  Sometimes h264 keyframes in the wild are much more 
> widely spaced than expected.
>               #  This might only have been true for 'rebuilt' 
> seektables, but the large value should do no harm.
> 
> for frame in $(cat revedlist$$)
> do
>      i=$((${frame} - ${lag}))
>      j=$((${i}))
>      k=$((${i} + ${scope}))
>      echo  "select `offset`, mark from recordedseek
>      where chanid=$chanid and starttime='$starttime' and type=9
>      and mark >= ${j} and mark < ${k}  order by `offset` limit 3 ;" |
>      mysql -N -u${DBUserName} -p${DBPassword} -h${DBLocalHostName} 
> ${DBName}
> done > tmp0$$
> 
> echo "Full results of DB read:"
> cat tmp0$$
> cat tmp0$$  | sed -n '1,${p;n;n;}' > tmp1$$  # select lines 1,4,7...
> cat tmp0$$  | sed -n '2,${p;n;n;}' > tmp2$$  # 2,5,8...
> cat tmp0$$  | sed -n '3,${p;n;n;}' > tmp3$$
> rm tmp0$$
> 
> echo
> 
> }}}
{{{
Looking mor hopeful here, running the mysql commands in sequence (no 
pipe and with a smaller  effective value of the 'scope')


john at Matts-HP-Compaq-dc5800-Microtower:~/Bashtests$ mysql -N -umythtv 
-pmythtv -hlocalhost mythconverg
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 408
Server version: 10.6.12-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input 
statement.

MariaDB [mythconverg]> select `offset` , mark  from recordedseek where 
chanid=10002 and starttime=20190204190500 and type=9 and mark >= 8244 
and mark < 8444 order by `offset` limit 3 ;
+-----------+------+
| 193649588 | 8265 |
| 194136320 | 8289 |
| 194649184 | 8313 |
+-----------+------+
3 rows in set (0.001 sec)

MariaDB [mythconverg]> \q
Bye

}}}


More information about the mythtv-users mailing list