View Issue Details

IDProjectCategoryView StatusLast Update
0000153FakturamaAllgemein (General)public2017-12-30 22:36
ReporterJoerg Assigned Toadmin  
PriorityimmediateSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version1.5.2 
Target Version2.0.0 
Summary0000153: Error saving dataset bei Angeboten und Auftragsbestätigungen mit mehr als 51 Artikeln, Version 1.5.4
Description

Beim Versuch, ein Angebot und auch eine Auftragsbestätigung zu speichern, kommt die Fehlermeldung "Error saving dataset <dokumentname>" sobald der 52. Artikel dazukommt. Wird der Artikel 52 wieder gelöscht und irgendeine Änderung vorgenommen, kann dann auch wieder mit 51 Artikel gespeichert werden.
Besonders ärgerlich: Man kann ein komplexes Angebot (hier: knapp 100 Positionen) erstellen und auch drucken, aber beim Speichern kommt dann erst die Fehlermeldung.
Somit habe ich wohl wissend, dass die Arbeit morgen für die Katz' ist, das Angebot fertig gemacht und verschickt und ohne Chance zu speichern beendet. Bei der nächsten Änderung gebe ich alles wieder ab Pos. 52 neu ein :-((
Fakturama-Version 1.5.4
Der Fehler tritt bei open Suse 12.1 64Bit und bei Win7 Prof. 32Bit gleichermaßen auf (identisches Arbeitsverzeichnis)
Error.log reduziert auf diesen Fehler ist beigefügt.

Steps To Reproduce

siehe Beschreibung

TagsNo tags attached.
Attached Files
Error.log (5,117 bytes)   
25.10.2012 23:57:41 com.sebulli.fakturama: Error saving dataset AB 12-0140java.sql.SQLException: data exception: string data, right truncation
	at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
	at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
	at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
	at com.sebulli.fakturama.data.DataBase.updateUniDataSet(DataBase.java:345)
	at com.sebulli.fakturama.data.DataSetArray.updateDataSet(DataSetArray.java:210)
	at com.sebulli.fakturama.editors.DocumentEditor.doSave(DocumentEditor.java:590)
	at org.eclipse.ui.internal.SaveableHelper$2.run(SaveableHelper.java:151)
	at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:277)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
	at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
	at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)
	at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:285)
	at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:264)
	at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:156)
	at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1399)
	at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:3416)
	at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3429)
	at org.eclipse.ui.internal.handlers.SaveHandler.execute(SaveHandler.java:54)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
	at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
	at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:452)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at com.sebulli.fakturama.Application.start(Application.java:39)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: org.hsqldb.HsqlException: data exception: string data, right truncation
	at org.hsqldb.error.Error.error(Unknown Source)
	at org.hsqldb.error.Error.error(Unknown Source)
	at org.hsqldb.types.CharacterType.castOrConvertToType(Unknown Source)
	at org.hsqldb.types.CharacterType.convertToType(Unknown Source)
	at org.hsqldb.StatementDML.getUpdatedData(Unknown Source)
	at org.hsqldb.StatementDML.executeUpdateStatement(Unknown Source)
	at org.hsqldb.StatementDML.getResult(Unknown Source)
	at org.hsqldb.StatementDMQL.execute(Unknown Source)
	at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
	at org.hsqldb.Session.execute(Unknown Source)
	... 54 more

Error.log (5,117 bytes)   

Activities

jens

2012-11-12 20:34

developer   ~0000098

Ich habe den Fehler gefunden: Die Ursache ist eine Variable 'items' in der Tabelle 'documents', die zu kurz definiert ist (Datei /com.sebulli.fakturama/src/com/sebulli/fakturama/data/DataSetDocument.java, Zeile 194).
Die Länge ist auf 256 Zeichen begrenzt. In der Variablen werden, durch Komma getrennt, die Artikelpositionen abgespeichert. Wenn man das Feld erweitert (z.B. auf Typ TEXT mit 32768 Zeichen), klappt alles.
Leider ist mir das ganze Verfahren nicht klar, wie man so eine Fehlerbehebung jetzt veröffentlichen kann.
Vielleicht kann Gerd (mir) mal erklären, wie man solcher Fehlerbehebungen in eine neue Version einfließen lassen kann. Danke.

admin

2012-11-12 22:14

administrator   ~0000099

Hallo Jörg,
das Problem wurde vor einigen Tagen gefixt:
http://code.google.com/p/fakturama/source/detail?r=603
Es gibt allerdings noch keine neue Version.
gerd

Issue History

Date Modified Username Field Change
2012-10-26 00:16 Joerg New Issue
2012-10-26 00:16 Joerg File Added: Error.log
2012-11-12 20:34 jens Note Added: 00098
2012-11-12 22:14 admin Note Added: 00099
2012-11-12 22:14 admin Assigned To => admin
2012-11-12 22:14 admin Status new => assigned
2012-11-12 22:15 admin Status assigned => resolved
2012-11-12 22:15 admin Resolution open => fixed
2017-12-30 22:36 rheydenr Target Version Pipeline => 2.0.0