Bug 279980 - Kexi crashed after importing a .csv file as a new table
Summary: Kexi crashed after importing a .csv file as a new table
Status: CLOSED FIXED
Alias: None
Product: KEXI
Classification: Applications
Component: Migration/Import/Export (show other bugs)
Version: 2.3.3 (KOffice 2.3.3)
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Jarosław Staniek
URL:
Keywords:
: 283104 287931 (view as bug list)
Depends on:
Blocks: 254068
  Show dependency treegraph
 
Reported: 2011-08-12 16:10 UTC by toolman638
Modified: 2012-08-11 11:42 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.4 rc1 (Calligra 2.4 rc1)


Attachments
New crash information added by DrKonqi (11.62 KB, text/plain)
2012-02-22 19:41 UTC, Avihay
Details

Note You need to log in before you can comment on or make changes to this bug.
Description toolman638 2011-08-12 16:10:33 UTC
Application: kexi (2.3.3 (KOffice 2.3.3))
KDE Platform Version: 4.6.2 (4.6.2)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-10-generic i686
Distribution: Ubuntu 11.04

-- Information about the crash:
Had just completed importing a .csv file to create a new table

-- Backtrace:
Application: Kexi (kexi), signal: Segmentation fault
[Current thread is 1 (Thread 0xb7738720 (LWP 10006))]

Thread 3 (Thread 0xb74afb70 (LWP 10008)):
#0  0x006a77c6 in ?? () from /lib/i386-linux-gnu/libc.so.6
#1  0x0068af60 in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0x00a5684b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x00a461af in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x00a4692b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x02465304 in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#6  0x00a6f2df in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0x005ace99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0x0069973e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xb25b4b70 (LWP 10014)):
#0  0x005b07a4 in __pthread_mutex_unlock_usercnt () from /lib/i386-linux-gnu/libpthread.so.0
#1  0x006a7656 in pthread_mutex_unlock () from /lib/i386-linux-gnu/libc.so.6
#2  0x00a45712 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0x00a4603a in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0x00a46524 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0x00292577 in QEventDispatcherGlib::processEvents (this=0x93e02c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00264289 in QEventLoop::processEvents (this=0xb25b4280, flags=...) at kernel/qeventloop.cpp:149
#7  0x00264522 in QEventLoop::exec (this=0xb25b4280, flags=...) at kernel/qeventloop.cpp:201
#8  0x0016e2a0 in QThread::exec (this=0x93df270) at thread/qthread.cpp:492
#9  0x00245fdb in QInotifyFileSystemWatcherEngine::run (this=0x93df270) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00170da2 in QThreadPrivate::start (arg=0x93df270) at thread/qthread_unix.cpp:320
#11 0x005ace99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0x0069973e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb7738720 (LWP 10006)):
[KCrash Handler]
#7  isNull (d=0x0) at kernel/qguivariant.cpp:292
#8  0x00285e23 in QVariant::isNull (this=0x0) at kernel/qvariant.cpp:2909
#9  0x02e06166 in KexiDB::SQLitePreparedStatement::execute (this=0x966f648) at ../../../../../kexi/kexidb/drivers/sqlite/sqlitepreparedstatement.cpp:86
#10 0x032cb343 in KexiCSVImportDialog::saveRow (this=0x93d51b0, inGUI=false) at ../../../../../kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:1264
#11 0x032ce94d in KexiCSVImportDialog::loadRows (this=0x93d51b0, field=..., row=@0xbfd60354, column=@0xbfd60350, maxColumn=@0xbfd6034c, inGUI=false) at ../../../../../kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:888
#12 0x032d4a6b in KexiCSVImportDialog::accept (this=0x93d51b0) at ../../../../../kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:1602
#13 0x07b4c13b in KDialog::slotButtonClicked (this=0x93d51b0, button=4) at ../../kdeui/dialogs/kdialog.cpp:884
#14 0x07b4c5bc in KDialog::qt_metacall (this=0x93d51b0, _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0xbfd60628) at ./kdialog.moc:190
#15 0x032d2eba in KexiCSVImportDialog::qt_metacall (this=0x93d51b0, _c=QMetaObject::InvokeMetaMethod, _id=69, _a=0xbfd60628) at ./kexicsvimportdialog.moc:89
#16 0x0026b6ba in QMetaObject::metacall (object=0x93d51b0, cl=QMetaObject::InvokeMetaMethod, idx=69, argv=0xbfd60628) at kernel/qmetaobject.cpp:237
#17 0x0027b4ff in QMetaObject::activate (sender=0x967f3e4, m=0x39f0f8, local_signal_index=0, argv=0xbfd60628) at kernel/qobject.cpp:3287
#18 0x0027f413 in QSignalMapper::mapped (this=0x967f3e4, _t1=4) at .moc/release-shared/moc_qsignalmapper.cpp:101
#19 0x0027f55f in QSignalMapper::map (this=0x967f3e4, sender=0x94f7168) at kernel/qsignalmapper.cpp:266
#20 0x0027f71e in QSignalMapper::map (this=0x967f3e4) at kernel/qsignalmapper.cpp:257
#21 0x0027fc0b in QSignalMapper::qt_metacall (this=0x967f3e4, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfd607b8) at .moc/release-shared/moc_qsignalmapper.cpp:87
#22 0x0026b6ba in QMetaObject::metacall (object=0x967f3e4, cl=QMetaObject::InvokeMetaMethod, idx=8, argv=0xbfd607b8) at kernel/qmetaobject.cpp:237
#23 0x0027b4ff in QMetaObject::activate (sender=0x94f7168, m=0x17e2884, local_signal_index=2, argv=0xbfd607b8) at kernel/qobject.cpp:3287
#24 0x015887c9 in QAbstractButton::clicked (this=0x94f7168, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#25 0x012a0326 in QAbstractButtonPrivate::emitClicked (this=0x961d878) at widgets/qabstractbutton.cpp:546
#26 0x012a1b94 in QAbstractButtonPrivate::click (this=0x961d878) at widgets/qabstractbutton.cpp:539
#27 0x012a1e4e in QAbstractButton::mouseReleaseEvent (this=0x94f7168, e=0xbfd60f14) at widgets/qabstractbutton.cpp:1121
#28 0x00ef513a in QWidget::event (this=0x94f7168, event=0xbfd60f14) at kernel/qwidget.cpp:8259
#29 0x012a0e9e in QAbstractButton::event (this=0x94f7168, e=0xbfd60f14) at widgets/qabstractbutton.cpp:1080
#30 0x0133ec52 in QPushButton::event (this=0x94f7168, e=0xbfd60f14) at widgets/qpushbutton.cpp:683
#31 0x00e9cd24 in QApplicationPrivate::notify_helper (this=0x8d0ece8, receiver=0x94f7168, e=0xbfd60f14) at kernel/qapplication.cpp:4462
#32 0x00ea2201 in QApplication::notify (this=0x8d09488, receiver=0x94f7168, e=0xbfd60f14) at kernel/qapplication.cpp:4023
#33 0x07bfc3ca in KApplication::notify (this=0x8d09488, receiver=0x94f7168, event=0xbfd60f14) at ../../kdeui/kernel/kapplication.cpp:311
#34 0x002650bb in QCoreApplication::notifyInternal (this=0x8d09488, receiver=0x94f7168, event=0xbfd60f14) at kernel/qcoreapplication.cpp:731
#35 0x00e9dc3b in sendSpontaneousEvent (receiver=0x94f7168, event=0xbfd60f14, alienWidget=0x94f7168, nativeWidget=0x94dca80, buttonDown=0x17ebc60, lastMouseReceiver=..., spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#36 QApplicationPrivate::sendMouseEvent (receiver=0x94f7168, event=0xbfd60f14, alienWidget=0x94f7168, nativeWidget=0x94dca80, buttonDown=0x17ebc60, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3120
#37 0x00f2904c in QETWidget::translateMouseEvent (this=0x94dca80, event=0xbfd6143c) at kernel/qapplication_x11.cpp:4558
#38 0x00f279b5 in QApplication::x11ProcessEvent (this=0x8d09488, event=0xbfd6143c) at kernel/qapplication_x11.cpp:3680
#39 0x00f535f4 in x11EventSourceDispatch (s=0x8d11a40, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#40 0x00a45aa8 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#41 0x00a46270 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#42 0x00a46524 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#43 0x0029253c in QEventDispatcherGlib::processEvents (this=0x8ccf480, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#44 0x00f531e5 in QGuiEventDispatcherGlib::processEvents (this=0x8ccf480, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#45 0x00264289 in QEventLoop::processEvents (this=0xbfd61710, flags=...) at kernel/qeventloop.cpp:149
#46 0x00264522 in QEventLoop::exec (this=0xbfd61710, flags=...) at kernel/qeventloop.cpp:201
#47 0x013bca93 in QDialog::exec (this=0x93d51b0) at dialogs/qdialog.cpp:552
#48 0x004568d1 in KexiMainWindow::slotProjectImportDataTable (this=0x94a7370) at ../../../kexi/main/KexiMainWindow.cpp:4914
#49 0x0046491c in KexiMainWindow::qt_metacall (this=0x94a7370, _c=QMetaObject::InvokeMetaMethod, _id=64, _a=0xbfd61928) at ./KexiMainWindow.moc:478
#50 0x0026b6ba in QMetaObject::metacall (object=0x94a7370, cl=QMetaObject::InvokeMetaMethod, idx=91, argv=0xbfd61928) at kernel/qmetaobject.cpp:237
#51 0x0027b4ff in QMetaObject::activate (sender=0x94bf620, m=0x17cf3f8, local_signal_index=1, argv=0xbfd61928) at kernel/qobject.cpp:3287
#52 0x00e958d9 in QAction::triggered (this=0x94bf620, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#53 0x00e95b38 in QAction::activate (this=0x94bf620, event=QAction::Trigger) at kernel/qaction.cpp:1257
#54 0x01372ce2 in trigger (this=0x94e1030) at ../../include/QtGui/../../src/gui/kernel/qaction.h:218
#55 QToolButton::nextCheckState (this=0x94e1030) at widgets/qtoolbutton.cpp:1147
#56 0x012a1b53 in QAbstractButtonPrivate::click (this=0x94e7020) at widgets/qabstractbutton.cpp:528
#57 0x012a1e4e in QAbstractButton::mouseReleaseEvent (this=0x94e1030, e=0xbfd620b4) at widgets/qabstractbutton.cpp:1121
#58 0x01372dcc in QToolButton::mouseReleaseEvent (this=0x94e1030, e=0xbfd620b4) at widgets/qtoolbutton.cpp:721
#59 0x00ef513a in QWidget::event (this=0x94e1030, event=0xbfd620b4) at kernel/qwidget.cpp:8259
#60 0x012a0e9e in QAbstractButton::event (this=0x94e1030, e=0xbfd620b4) at widgets/qabstractbutton.cpp:1080
#61 0x013744fa in QToolButton::event (this=0x94e1030, event=0xbfd620b4) at widgets/qtoolbutton.cpp:1163
#62 0x00e9cd24 in QApplicationPrivate::notify_helper (this=0x8d0ece8, receiver=0x94e1030, e=0xbfd620b4) at kernel/qapplication.cpp:4462
#63 0x00ea2201 in QApplication::notify (this=0x8d09488, receiver=0x94e1030, e=0xbfd620b4) at kernel/qapplication.cpp:4023
#64 0x07bfc3ca in KApplication::notify (this=0x8d09488, receiver=0x94e1030, event=0xbfd620b4) at ../../kdeui/kernel/kapplication.cpp:311
#65 0x002650bb in QCoreApplication::notifyInternal (this=0x8d09488, receiver=0x94e1030, event=0xbfd620b4) at kernel/qcoreapplication.cpp:731
#66 0x00e9dc3b in sendSpontaneousEvent (receiver=0x94e1030, event=0xbfd620b4, alienWidget=0x94e1030, nativeWidget=0x94d3520, buttonDown=0x17ebc60, lastMouseReceiver=..., spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#67 QApplicationPrivate::sendMouseEvent (receiver=0x94e1030, event=0xbfd620b4, alienWidget=0x94e1030, nativeWidget=0x94d3520, buttonDown=0x17ebc60, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3120
#68 0x00f2904c in QETWidget::translateMouseEvent (this=0x94d3520, event=0xbfd625dc) at kernel/qapplication_x11.cpp:4558
#69 0x00f279b5 in QApplication::x11ProcessEvent (this=0x8d09488, event=0xbfd625dc) at kernel/qapplication_x11.cpp:3680
#70 0x00f535f4 in x11EventSourceDispatch (s=0x8d11a40, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#71 0x00a45aa8 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#72 0x00a46270 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#73 0x00a46524 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#74 0x0029253c in QEventDispatcherGlib::processEvents (this=0x8ccf480, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#75 0x00f531e5 in QGuiEventDispatcherGlib::processEvents (this=0x8ccf480, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#76 0x00264289 in QEventLoop::processEvents (this=0xbfd628a4, flags=...) at kernel/qeventloop.cpp:149
#77 0x00264522 in QEventLoop::exec (this=0xbfd628a4, flags=...) at kernel/qeventloop.cpp:201
#78 0x00268ecc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#79 0x00e9a8e7 in QApplication::exec () at kernel/qapplication.cpp:3736
#80 0x080486c4 in main (argc=1, argv=0xbfd629c4) at ../../kexi/main.cpp:34

Reported using DrKonqi
Comment 1 Jarosław Staniek 2011-08-12 19:15:55 UTC
Thanks for the report!
Comment 2 Jarosław Staniek 2011-11-30 18:40:28 UTC
Could you please provide a small sample CSV file that causes a crash?
Comment 3 Jarosław Staniek 2011-11-30 18:41:06 UTC
*** Bug 283104 has been marked as a duplicate of this bug. ***
Comment 4 Jarosław Staniek 2011-11-30 18:41:11 UTC
*** Bug 287931 has been marked as a duplicate of this bug. ***
Comment 5 Avihay 2012-02-22 19:41:52 UTC
Created attachment 69013 [details]
New crash information added by DrKonqi

kexi (2.3.3 (KOffice 2.3.3)) on KDE Platform 4.7.4 (4.7.4) using Qt 4.7.4

- What I was doing when the application crashed:

I was trying to import a UTF-8 CSV database into a new project

-- Backtrace (Reduced):
#7  isNull (d=0x1c) at kernel/qguivariant.cpp:292
#8  0x00298261 in QVariant::isNull (this=0x1c) at kernel/qvariant.cpp:2909
#9  0x02385347 in KexiDB::SQLitePreparedStatement::execute (this=0xa157bb8) at ../../../../../kexi/kexidb/drivers/sqlite/sqlitepreparedstatement.cpp:86
#10 0x02a53344 in saveRow (this=0xa0ad598, inGUI=<optimized out>) at ../../../../../kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:1264
#11 KexiCSVImportDialog::saveRow (this=0xa0ad598, inGUI=false) at ../../../../../kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:1257
Comment 6 Jarosław Staniek 2012-02-22 20:18:49 UTC
Thanks for the backtrace but a small sample CSV file that causes a crash is needed to fix this bug (or to confirm that it's fixed already). You can attach it here or send to me: <staniek at kde.org>
Comment 7 Jarosław Staniek 2012-02-23 21:54:11 UTC
Reproduced using provided file, thanks.
Comment 8 Jarosław Staniek 2012-02-27 00:14:58 UTC
Git commit a99283dd1e3079a5c01f7d5cc270e678ce7f3eba by Jaroslaw Staniek.
Committed on 27/02/2012 at 00:15.
Pushed by staniek into branch 'master'.

Fix crash while importing CSV rows that start with empty cells

CSV Import
*Fixed bug: crash while importing CSV rows that start with empty cells (only delimiters)
**Example row: ,,,"a"
FIXED-IN: 2.4 rc1 (Calligra 2.4 rc1)

M  +17   -3    kexi/plugins/importexport/csv/kexicsvimportdialog.cpp
M  +5    -2    kexi/plugins/importexport/csv/kexicsvimportdialog.h

http://commits.kde.org/calligra/a99283dd1e3079a5c01f7d5cc270e678ce7f3eba
Comment 9 Jarosław Staniek 2012-02-27 00:14:58 UTC
Git commit 1e9be96a9e438186d5771d0e5797e68cb197311d by Jaroslaw Staniek.
Committed on 27/02/2012 at 00:09.
Pushed by staniek into branch 'master'.

KexiDB SQLite Driver: fixed crash when inserting incomplete rows

KexiDB
*SQLite Driver
**fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected

M  +4    -2    kexi/kexidb/drivers/sqlite/sqlitepreparedstatement.cpp
M  +1    -1    kexi/kexidb/drivers/sqlite/sqlitepreparedstatement.h

http://commits.kde.org/calligra/1e9be96a9e438186d5771d0e5797e68cb197311d
Comment 10 Jarosław Staniek 2012-03-07 22:12:45 UTC
Git commit 7661374b40c0a626de0d0493bf5914aec727a843 by Jaroslaw Staniek.
Committed on 07/03/2012 at 21:45.
Pushed by staniek into branch 'master'.

KexiDB MySQL Driver: fixed crash when inserting incomplete rows

KexiDB
*MySQL Driver
**fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
Related: bug 254068

FIXED-IN: 2.4 (Calligra 2.4)

M  +10   -3    kexi/doc/dev/CHANGELOG-Kexi-js
M  +8    -1    kexi/kexidb/drivers/mySQL/mysqlpreparedstatement.cpp
M  +1    -1    kexi/kexidb/drivers/mySQL/mysqlpreparedstatement.h

http://commits.kde.org/calligra/7661374b40c0a626de0d0493bf5914aec727a843
Comment 11 Jarosław Staniek 2012-03-07 22:27:56 UTC
Git commit 4ca56dd13fe4b97ddcd940eaa6e5ef0d9b509ad6 by Jaroslaw Staniek.
Committed on 07/03/2012 at 21:45.
Pushed by staniek into branch 'calligra/2.4'.

KexiDB MySQL Driver: fixed crash when inserting incomplete rows

KexiDB
*MySQL Driver
**fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
Related: bug 254068

FIXED-IN: 2.4 (Calligra 2.4)

REVIEW: 104188

M  +1    -1    kexi/doc/dev/CHANGELOG-Kexi-js
M  +8    -1    kexi/kexidb/drivers/mySQL/mysqlpreparedstatement.cpp
M  +1    -1    kexi/kexidb/drivers/mySQL/mysqlpreparedstatement.h

http://commits.kde.org/calligra/4ca56dd13fe4b97ddcd940eaa6e5ef0d9b509ad6
Comment 12 Jarosław Staniek 2012-03-07 22:47:37 UTC
Git commit 0c2d1ba6250e8346c5f67b3c963bc1ce1d80bead by Jaroslaw Staniek.
Committed on 07/03/2012 at 23:40.
Pushed by staniek into branch 'calligra/2.4'.

KexiDB PostgreSQL Driver: fixed crash when inserting incomplete rows

KexiDB
*PostgreSQL Driver
**fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
Related: bug 254068

FIXED-IN: 2.4 (Calligra 2.4)

REVIEW: 104189

M  +8    -0    kexi/kexidb/drivers/pqxx/pqxxpreparedstatement.cpp

http://commits.kde.org/calligra/0c2d1ba6250e8346c5f67b3c963bc1ce1d80bead
Comment 13 Jarosław Staniek 2012-03-07 22:55:35 UTC
Git commit 38da0b59e0864e69c880fbbab27e88e113eea7e5 by Jaroslaw Staniek.
Committed on 07/03/2012 at 23:40.
Pushed by staniek into branch 'master'.

KexiDB PostgreSQL Driver: fixed crash when inserting incomplete rows

KexiDB
*PostgreSQL Driver
**fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
Related: bug 254068

FIXED-IN: 2.4 (Calligra 2.4)

REVIEW: 104189

M  +8    -0    kexi/kexidb/drivers/pqxx/pqxxpreparedstatement.cpp

http://commits.kde.org/calligra/38da0b59e0864e69c880fbbab27e88e113eea7e5
Comment 14 Jarosław Staniek 2012-06-25 22:35:20 UTC
Git commit 9d938f3e3d382885996bda5027b61f0240b2ec19 by Jaroslaw Staniek.
Committed on 20/06/2012 at 22:29.
Pushed by staniek into branch 'master'.

SQLite Driver: fixed crash when inserting incomplete rows

Fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
*(2012-02-27 calligra master commit 1e9be96a9e)

M  +4    -2    Drivers/sqlite/SqlitePreparedStatement.cpp
M  +1    -1    Drivers/sqlite/SqlitePreparedStatement.h

http://commits.kde.org/predicate/9d938f3e3d382885996bda5027b61f0240b2ec19
Comment 15 Jarosław Staniek 2012-06-27 11:28:25 UTC
Git commit 58f546cfbc490938c4049b99c81e543397b2ca6d by Jaroslaw Staniek.
Committed on 27/06/2012 at 09:49.
Pushed by staniek into branch 'master'.

MySQL & PostgreSQL Driver: Fixed crash when inserting incomplete rows

*Fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
**(2012-03-07 calligra master commit 7661374b40c)
**(2012-03-07 calligra master commit 38da0b59e08)
Related: bug 254068

M  +14   -7    Drivers/mysql/MysqlPreparedStatement.cpp
M  +2    -1    Drivers/mysql/MysqlPreparedStatement.h
M  +16   -8    Drivers/postgresql/PostgresqlPreparedStatement.cpp
M  +2    -1    Drivers/postgresql/PostgresqlPreparedStatement.h
M  +4    -3    Drivers/sqlite/SqlitePreparedStatement.cpp
M  +2    -1    Drivers/sqlite/SqlitePreparedStatement.h
M  +2    -1    Predicate/Interfaces/PreparedStatementInterface.h
M  +1    -1    Predicate/PreparedStatement.cpp

http://commits.kde.org/predicate/58f546cfbc490938c4049b99c81e543397b2ca6d