Hildebrand Glowmarkt API Binding [3.3.0;4.0.0)

Which version of openHAB are you running?

  • Platform information:
    • Hardware: RPI4 8G
    • OS: Raspbian GNU/Linux 10 (buster). OpenHABian
    • Java Runtime Environment: openjdk 11.0.16
    • openHAB version: 3.4.0.M3

It’s related - the same fix is needed for sqllite. I’ll provide a fix in the evening (CET). I cannot test it myself, so hoping you can help. :slight_smile:

org.openhab.persistence.jdbc-3.4.0-SNAPSHOT.jar

You will need to place this in the addons directory also:
https://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.16.1/sqlite-jdbc-3.16.1.jar

And probably rename it to sqlite-jdbc.jar

Yes I’m happy to give it a try, but bear in mind all I have to test it with is this binding. When it fails, it spits out MegaBytes of logs making openHAB unresponsive for several minutes. So please be patient!

1 Like

Pull request here:

I have put the two files into addons, and renamed the latter but get this

2022-12-01 17:41:15.977 [WARN ] [e.karaf.internal.ConsoleSupportKaraf] - bundle org.openhab.core.io.console.karaf:3.4.0.M3 (169)[org.openhab.core.io.console.karaf.internal.ConsoleSupportKaraf(276)] : Could not get service from ref {org.openhab.core.io.console.extensions.ConsoleCommandExtension}={service.id=443, service.bundleid=215, service.scope=bundle, component.name=org.openhab.persistence.jdbc.internal.console.JdbcCommandExtension, component.id=1}
2022-12-01 17:41:15.986 [ERROR] [Events.Framework                    ] - FrameworkEvent ERROR
org.osgi.framework.ServiceException: Exception in org.apache.felix.scr.impl.manager.SingleComponentManager.getService()
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:230) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:118) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:48) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:547) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:533) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:655) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88) ~[?:?]
	at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:675) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2556) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.prebind(DependencyManager.java:431) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1827) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1057) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:953) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:785) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) ~[?:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:667) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:305) ~[?:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:554) ~[?:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:70) ~[?:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:421) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) ~[osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) ~[osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[osgi.core-7.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) ~[osgi.core-7.0.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:944) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.container.Module.start(Module.java:486) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:445) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:464) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165) ~[?:?]
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1160) ~[?:?]
	at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1041) ~[?:?]
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069) ~[?:?]
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
	at java.lang.Thread.run(Thread.java:829) ~[?:?]
Caused by: java.lang.NoClassDefFoundError: org/openhab/core/io/console/ConsoleCommandCompleter
	at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:283) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:716) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:639) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:607) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:587) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:566) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:335) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:397) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:488) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:168) ~[org.eclipse.osgi-3.17.200.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:622) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.initDependencyManagers(AbstractComponentManager.java:1026) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1054) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:953) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:918) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:220) ~[org.eclipse.osgi-3.17.200.jar:?]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:217) ~[org.eclipse.osgi-3.17.200.jar:?]
	... 47 more
Caused by: java.lang.ClassNotFoundException: org.openhab.core.io.console.ConsoleCommandCompleter cannot be found by org.openhab.persistence.jdbc_3.4.0.202212011626
	at org.eclipse.osgi.internal.loader.BundleLoader.generateException(BundleLoader.java:529) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:475) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:168) ~[org.eclipse.osgi-3.17.200.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
	at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:283) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:716) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:639) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:607) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:587) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:566) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:335) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:397) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:488) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:168) ~[org.eclipse.osgi-3.17.200.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:622) ~[org.eclipse.osgi-3.17.200.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.initDependencyManagers(AbstractComponentManager.java:1026) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1054) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:953) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:918) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:220) ~[org.eclipse.osgi-3.17.200.jar:?]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:217) ~[org.eclipse.osgi-3.17.200.jar:?]
	... 47 more

I tried stopping openHAB, clean cache, etc but I don’t much of a clue when it comes to understanding.
Hopefully you do?

Sorry, I didn’t think of that. Your 3.4.0M3 version is too old for the new console extensions with tab completion, so you would have to upgrade to at least M4. Preferable M5 which was released on Sunday.

I think it might work even with this exception though, but the console extensions will not work.

When reviewing my own code I found a mistake, so please download the JAR again (same link) before continuing the tests.

Ok thanks. I couldn’t upgrade to M4 because of the jsscripting bug but hopefully that’s fixed now in M5. Tomorrow job for me.

Yes, it’s fixed in M5.

So after upgrade to M5, and putting the linked JARs in addons, when the Glowmarkt bridge is installed:

2022-12-02 16:20:27.582 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.NullPointerException: null
	at java.util.Base64$Decoder.decode(Base64.java:561) ~[?:?]
	at com.qubular.binding.glowmarkt.internal.CryptUtil.decrypt(CryptUtil.java:52) ~[?:?]
	at com.qubular.binding.glowmarkt.internal.GlowmarktBridgeHandler.getGlowmarktSession(GlowmarktBridgeHandler.java:192) ~[?:?]
	at com.qubular.binding.glowmarkt.internal.GlowmarktBridgeHandler.getVirtualEntities(GlowmarktBridgeHandler.java:203) ~[?:?]
	at com.qubular.binding.glowmarkt.internal.GlowmarktDiscoveryService.lambda$scanJob$1(GlowmarktDiscoveryService.java:67) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]

but the bridge thing comes online.

I tried to establish if the jdbc persistence is working by changing one of the items, but it looks like it isn’t i.e. the database file is not updated.

jdbc.persist:

Strategies {
}
Items {
  SmartMeter_* : strategy = everyChange
}

the only active line in jdbc.cfg:

url=jdbc:sqlite:./Glowmarkt.db

Just FYI tried the new console commands:

openhab> openhab:jdbc
Usage: openhab:jdbc schema check - check schema integrity
Usage: openhab:jdbc schema fix [<itemName>] - fix schema integrity
Usage: openhab:jdbc tables list [all] - list tables (all = include valid)
Usage: openhab:jdbc tables clean [<itemName>] [force] - clean inconsistent items (remove from index and drop tables)
Usage: openhab:jdbc reload - reload item index/schema
openhab> openhab:jdbc schema check
Table     Item                                                            Issue
--------  --------------------------------------------------------------  ----------------------------------------------------------------
org.openhab.persistence.jdbc.internal.exceptions.JdbcSQLException: Error in SQL query!!!; [SQLITE_ERROR] SQL error or missing database (no such table: information_schema.columns) Query: SELECT column_name, column_type, is_nullable FROM information_schema.columns WHERE table_schema='/var/lib/openhab/./Glowmarkt.db' AND table_name='item0009' Parameters: []; Pool Name= yank-default; SQL= SELECT column_name, column_type, is_nullable FROM information_schema.columns WHERE table_schema='/var/lib/openhab/./Glowmarkt.db' AND table_name='item0009'
openhab> openhab:jdbc tables list
org.openhab.persistence.jdbc.internal.exceptions.JdbcSQLException: Error in SQL query!!!; [SQLITE_ERROR] SQL error or missing database (no such table: information_schema.tables) Query: SELECT table_name FROM information_schema.tables WHERE table_type='BASE TABLE' AND table_schema='/var/lib/openhab/./Glowmarkt.db' AND NOT table_name='items' Parameters: []; Pool Name= yank-default; SQL= SELECT table_name FROM information_schema.tables WHERE table_type='BASE TABLE' AND table_schema='/var/lib/openhab/./Glowmarkt.db' AND NOT table_name='items'
openhab>

Perhaps this should be moved to a new thread - but I don’t know how to do that.

Okay, let’s verify a few things. First, did you uninstall JDBC Persistence before dropping the JAR files in the addons directory?

Now, let’s check filenames and sizes:

  • org.openhab.persistence.jdbc-3.4.0-SNAPSHOT.jar - size: 344812 bytes
  • sqlite-jdbc.jar - size: 6161579 bytes

If it matches, do you see anything in the log before the entry you posted? You could try to enable debug logging:

ssh -p 8101 openhab@localhost 'log:set debug org.openhab.persistence.jdbc'

If you remove “org.openhab.persistence.jdbc-3.4.0-SNAPSHOT.jar” from the addons directory and put it back in, you should see something in the log.

Yes, that would be best. I don’t run SQLite myself, so probably won’t be able to support that for all the new console features, but I will do a quick check to see if there is something obvious to try in order to fetch column definitions in SQLite.

Can you check if openhab:jdbc tables list works with this version:
org.openhab.persistence.jdbc-3.4.0-SNAPSHOT.jar

?

Yes I did uninstall JDBC Persistence before dropping the JAR files in the addons directory.

The filenames and sizes are correct.

Remove - replace of the jar gives:

2022-12-04 10:40:16.870 [INFO ] [persistence.jdbc.internal.JdbcMapper] - JDBC::openConnection: Driver is available::Yank setupDataSource

I’ll try adding debug logs now.

Yes it works.

openhab> openhab:jdbc tables list
Table            Row Count  Item                                                            Status
---------------  ---------  --------------------------------------------------------------  ----------------------
item0001                 1  DCCSmartMeters__gasconsumptionTariffStandingCharge              Item missing
item0002                 1  DCCSmartMeters__gasconsumptionTariffPerUnitCharge               Item missing
item0003                 0  DCCSmartMeters__GasConsumption                                  Item missing
item0004                 0  DCCSmartMeters__ElectricityConsumption                          Item missing
item0005                 0  DCCSmartMeters__GasCost                                         Item missing
item0006                 0  DCCSmartMeters__Electricitycost                                 Item missing
item0007                 1  DCCSmartMeters__electricityconsumptionTariffStandingCharge      Item missing
item0008                 1  DCCSmartMeters__electricityconsumptionTariffPerUnitChargeTier1  Item missing
sqlite_sequence          0                                                                  Orphan table

The items were created and entered the first time I installed the binding, so using jdbc:sqlite from M3.
After the errors, I deleted the items to start again, thinking perhaps the item names were too long for sqlite.

Can you try again? Same link. Wanted to get rid of sqlite_sequence and need to verify that I didn’t break anything.

Nothing broken in that respect.

openhab> openhab:jdbc tables list
Table     Row Count  Item                                                            Status
--------  ---------  --------------------------------------------------------------  ----------------------
item0001          1  DCCSmartMeters__gasconsumptionTariffStandingCharge              Item missing
item0002          1  DCCSmartMeters__gasconsumptionTariffPerUnitCharge               Item missing
item0003          0  DCCSmartMeters__GasConsumption                                  Item missing
item0004          0  DCCSmartMeters__ElectricityConsumption                          Item missing
item0005          0  DCCSmartMeters__GasCost                                         Item missing
item0006          0  DCCSmartMeters__Electricitycost                                 Item missing
item0007          1  DCCSmartMeters__electricityconsumptionTariffStandingCharge      Item missing
item0008          1  DCCSmartMeters__electricityconsumptionTariffPerUnitChargeTier1  Item missing

but there are no jdbc entries in the log when I change an item!
Debug logging is enabled and there are entries occurring for jdbc, for example from the above tables list

2022-12-04 11:40:21.908 [DEBUG] [persistence.jdbc.internal.JdbcMapper] - JDBC::getItemTables
2022-12-04 11:40:21.911 [DEBUG] [istence.jdbc.internal.db.JdbcBaseDAO] - JDBC::doGetItemTables sql=SELECT name AS table_name FROM sqlite_master WHERE type='table' AND name NOT IN ('items','sqlite_sequence')
2022-12-04 11:40:21.941 [DEBUG] [istence.jdbc.internal.db.JdbcBaseDAO] - JDBC::doGetRowCount sql=SELECT COUNT(*) FROM item0001
2022-12-04 11:40:21.946 [DEBUG] [istence.jdbc.internal.db.JdbcBaseDAO] - JDBC::doGetRowCount sql=SELECT COUNT(*) FROM item0002
2022-12-04 11:40:21.949 [DEBUG] [istence.jdbc.internal.db.JdbcBaseDAO] - JDBC::doGetRowCount sql=SELECT COUNT(*) FROM item0003
2022-12-04 11:40:21.953 [DEBUG] [istence.jdbc.internal.db.JdbcBaseDAO] - JDBC::doGetRowCount sql=SELECT COUNT(*) FROM item0004
2022-12-04 11:40:21.959 [DEBUG] [istence.jdbc.internal.db.JdbcBaseDAO] - JDBC::doGetRowCount sql=SELECT COUNT(*) FROM item0005
2022-12-04 11:40:21.965 [DEBUG] [istence.jdbc.internal.db.JdbcBaseDAO] - JDBC::doGetRowCount sql=SELECT COUNT(*) FROM item0006
2022-12-04 11:40:21.968 [DEBUG] [istence.jdbc.internal.db.JdbcBaseDAO] - JDBC::doGetRowCount sql=SELECT COUNT(*) FROM item0007
2022-12-04 11:40:21.972 [DEBUG] [istence.jdbc.internal.db.JdbcBaseDAO] - JDBC::doGetRowCount sql=SELECT COUNT(*) FROM item0008