
Print message to chat when data exceeds max column length instead of throwing error
Closed this issue ยท 2 comments
This error occurs when using MySQL (and probably with other databases with column widths too) due to the worlds (and server) column only being 36 chars long in the permission tables when trying to use a longer (world1|world2) shorthand like described here:
[20:46:37] [Server thread/INFO]: Phoenix616 issued server command: /lp group spieler permission set simplegamemodes.gamemode.spectator creative (creative_flat|creative_hammerfall|creative_liberty|creative_riegel7|creative_snow_mountain|creative_stammi|creative_tropic_island|creative_tropic_island_1)
[20:46:37] [pool-6-thread-1/INFO]: [LP] LOG > (Phoenix616) [G] (spieler) --> permission set simplegamemodes.gamemode.spectator true creative (creative_flat|creative_hammerfall|creative_liberty|creative_riegel7|creative_snow_mountain|creative_stammi|creative_tropic_island|creative_tropic_island_1)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: java.sql.BatchUpdateException: Data truncation: Data too long for column 'world' at row 1
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:408)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.SQLError.createBatchUpdateException(SQLError.java:1162)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.ServerPreparedStatement.executeBatchSerially(ServerPreparedStatement.java:757)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.PreparedStatement.executeBatchInternal(PreparedStatement.java:1257)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.StatementImpl.executeBatch(StatementImpl.java:958)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:125)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at me.lucko.luckperms.common.storage.backing.SQLBacking.saveGroup(SQLBacking.java:750)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at me.lucko.luckperms.common.storage.AbstractStorage.lambda$saveGroup$8(AbstractStorage.java:169)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at org.bukkit.craftbukkit.v1_11_R1.scheduler.CraftTask.run(CraftTask.java:58)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at org.bukkit.craftbukkit.v1_11_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at java.lang.Thread.run(Thread.java:745)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'world' at row 1
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3968)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1281)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:782)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: at com.mysql.jdbc.ServerPreparedStatement.executeBatchSerially(ServerPreparedStatement.java:724)
[20:46:37] [Craft Scheduler Thread - 849/WARN]: ... 13 more
See my reply to #255, this isn't supported anymore. I'll fix the documentation.