このブログを検索

ラベル orientdb の投稿を表示しています。 すべての投稿を表示
ラベル orientdb の投稿を表示しています。 すべての投稿を表示

2016/11/11

Orientdb + mybatis error log

問題: NullPointerExceptionが発生する。
Select a, b from tableの結果が
1 レコード目: b
2 レコード目: null
の場合、次のエラーが発生する。

Caused by: java.lang.NullPointerException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:186)
    at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:89)
    at org.apache.ibatis.io.Resources.classForName(Resources.java:261)

エラー発生バージョンは、orietndb-jdbc-2.2.12

原因:ResultSetの値を格納するclassをloadするときにbの該当するclassの指定がない。

解決:  Select a, ifnull(b, "null") as b from tableのようにifnullを利用した。

2016/07/05

Can not delete edge data in Vertex after drop edge class at ORIENTDB


1. Table A , Table Bをvertexとしてあります。
2. Table A , Table Bを繋ぐJoinというedgeを作成しました。
3. そして”drop class Join”でedge classを消しました。

テストの為に上記の2.と3.を何回が繰り返しました。

すると次のようにin_Joinに無駄なデータが一杯出来ました。

SELECT FROM Table where name='Table A'








その後に"delete edge"をしたらエラーが出てvertex上にあるedge情報が削除出来ません。
orientdb {db=TestDB}> delete edge join from ( SELECT FROM Table WHERE name='Table A') to (SELECT FROM Table WHERE name='Table B')

2016-07-05 14:40:10:304 WARNI {db=TestDB} Record (#40:0) is null [OrientEdgeIterator]
2016-07-05 14:40:10:304 WARNI {db=TestDB} Record (#37:1) is null [OrientEdgeIterator]
2016-07-05 14:40:10:305 WARNI {db=TestDB} Record (#37:0) is null [OrientEdgeIterator]
2016-07-05 14:40:10:305 WARNI {db=TestDB} Record (#38:0) is null [OrientEdgeIterator]
2016-07-05 14:40:10:305 WARNI {db=TestDB} Record (#39:0) is null [OrientEdgeIterator]

これを削除するためには
 update #23:0 remove in_Join=#40:0
を実行して1つずつ消すしかなさそうです。

------------
Draft below here

There are Table A , Table B as vertex.
I create edge as Join that connet Table A and Table B.

And I drop Join edge.


2016/07/04

OrientDB SQL / Function Notes


1. Viewing Unix Time


The document  use date.asLong() like below.

orientdb> SELECT @RID, city, date.asLong() FROM #9:4
But reutn was 0.

orientdb> SELECT @RID, date().asLong() FROM #32:0
+----+-----+-------------+
|#   |RID  |date         |
+----+-----+-------------+
|0   |#32:0|1467611470176|
+----+-----+-------------+ 

OrientDB SQL / Function Notes


1. Viewing Unix Time


The document  use date.asLong() like below.

orientdb> SELECT @RID, city, date.asLong() FROM #9:4
But reutn was 0.

orientdb> SELECT @RID, date().asLong() FROM #32:0
+----+-----+-------------+
|#   |RID  |date         |
+----+-----+-------------+
|0   |#32:0|1467611470176|
+----+-----+-------------+