@@ -897,38 +897,36 @@ public JSONObject onSQLExecute() throws Exception {
897897
898898 boolean isSimpleArray = false ;
899899 // 提取并缓存数组主表的列表数据
900- List <JSONObject > rawList = (List <JSONObject >) result .remove (AbstractSQLExecutor .KEY_RAW_LIST );
900+ List <JSONObject > rawList = result == null ? null : (List <JSONObject >) result .remove (AbstractSQLExecutor .KEY_RAW_LIST );
901901
902- if (isArrayMainTable && position == 0 && result != null ) {
902+ if (isArrayMainTable && position == 0 && rawList != null ) {
903903
904- isSimpleArray = (functionMap == null || functionMap .isEmpty ())
905- && (customMap == null || customMap .isEmpty ())
906- && (childMap == null || childMap .isEmpty ())
907- && (table .equals (arrayTable ));
904+ isSimpleArray = (functionMap == null || functionMap .isEmpty ())
905+ && (customMap == null || customMap .isEmpty ())
906+ && (childMap == null || childMap .isEmpty ())
907+ && (table .equals (arrayTable ));
908908
909- // APP JOIN 副表时副表返回了这个字段 rawList = (List<JSONObject>) result.remove(AbstractSQLExecutor.KEY_RAW_LIST);
910- if (rawList != null ) {
911- String arrayPath = parentPath .substring (0 , parentPath .lastIndexOf ("[]" ) + 2 );
909+ // APP JOIN 副表时副表返回了这个字段 rawList = (List<JSONObject>) result.remove(AbstractSQLExecutor.KEY_RAW_LIST);
910+ String arrayPath = parentPath .substring (0 , parentPath .lastIndexOf ("[]" ) + 2 );
912911
913- if (isSimpleArray == false ) {
914- long startTime = System .currentTimeMillis ();
912+ if (isSimpleArray == false ) {
913+ long startTime = System .currentTimeMillis ();
915914
916- for (int i = 1 ; i < rawList .size (); i ++) { // 从 1 开始,0 已经处理过
917- JSONObject obj = rawList .get (i );
915+ for (int i = 1 ; i < rawList .size (); i ++) { // 从 1 开始,0 已经处理过
916+ JSONObject obj = rawList .get (i );
918917
919- if (obj != null ) {
920- parser .putQueryResult (arrayPath + "/" + i + "/" + name , obj ); // 解决获取关联数据时requestObject里不存在需要的关联数据
921- }
922- }
918+ if (obj != null ) {
919+ parser .putQueryResult (arrayPath + "/" + i + "/" + name , obj ); // 解决获取关联数据时requestObject里不存在需要的关联数据
920+ }
921+ }
923922
924- long endTime = System .currentTimeMillis (); // 3ms - 8ms
925- Log .e (TAG , "\n onSQLExecute <<<<<<<<<<<<<<<<<<<<<<<<<<<<\n for (int i = 1; i < list.size(); i++) startTime = " + startTime
926- + "; endTime = " + endTime + "; duration = " + (endTime - startTime ) + "\n >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n " );
927- }
923+ long endTime = System .currentTimeMillis (); // 3ms - 8ms
924+ Log .e (TAG , "\n onSQLExecute <<<<<<<<<<<<<<<<<<<<<<<<<<<<\n for (int i = 1; i < list.size(); i++) startTime = " + startTime
925+ + "; endTime = " + endTime + "; duration = " + (endTime - startTime ) + "\n >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n " );
926+ }
928927
929- parser .putArrayMainCache (arrayPath , rawList );
930- }
931- }
928+ parser .putArrayMainCache (arrayPath , rawList );
929+ }
932930
933931 if (isSubquery == false && result != null ) {
934932 parser .putQueryResult (path , result ); // 解决获取关联数据时requestObject里不存在需要的关联数据
0 commit comments