2626 */
2727
2828import com .esotericsoftware .kryo .Kryo ;
29+ import com .esotericsoftware .kryo .KryoException ;
2930import com .esotericsoftware .kryo .io .Input ;
3031import org .md2k .datakitapi .datatype .DataType ;
3132
@@ -46,7 +47,7 @@ public class SQLiteIterator implements Iterator<List<DataType>> {
4647 public SQLiteIterator (Statement statement , Integer id , int bufferSize ) {
4748 this .bufferSize = bufferSize ;
4849 try {
49- rs = statement .executeQuery ("Select sample from data where datasource_id = " + id );
50+ rs = statement .executeQuery ("Select _id, sample from data where datasource_id = " + id );
5051 } catch (SQLException e ) {
5152 e .printStackTrace ();
5253 }
@@ -66,12 +67,20 @@ public boolean hasNext() {
6667 @ Override
6768 public List <DataType > next () {
6869 List <DataType > result = new ArrayList <DataType >();
70+ byte [] b ;
71+ Input input ;
72+ DataType dt ;
6973 try {
7074 while (result .size () < bufferSize && rs .next ()) {
71- byte [] b = rs .getBytes ("sample" );
72- Input input = new Input (new ByteArrayInputStream (b ));
73- DataType dt = (DataType ) kryo .readClassAndObject (input );
74- result .add (dt );
75+ b = rs .getBytes ("sample" );
76+ input = new Input (new ByteArrayInputStream (b ));
77+ try {
78+ dt = (DataType ) kryo .readClassAndObject (input );
79+ result .add (dt );
80+ } catch (KryoException ke ) {
81+ System .err .println ("KryoException: " + rs .getLong ("_id" ));
82+ ke .printStackTrace ();
83+ }
7584
7685
7786 }
0 commit comments