Github user ajantha-bhat commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2816#discussion_r228209499
  
    --- Diff: store/CSDK/CarbonReader.cpp ---
    @@ -74,27 +75,41 @@ jobject CarbonReader::withHadoopConf(char *key, char 
*value) {
         return carbonReaderBuilderObject;
     }
     
    +jobject CarbonReader::withBatch(int batch) {
    +    jclass carbonReaderBuilderClass = 
jniEnv->GetObjectClass(carbonReaderBuilderObject);
    +    jmethodID buildID = jniEnv->GetMethodID(carbonReaderBuilderClass, 
"withBatch",
    +        "(I)Lorg/apache/carbondata/sdk/file/CarbonReaderBuilder;");
    +
    +    jvalue args[1];
    +    args[0].i = batch;
    +    carbonReaderBuilderObject = 
jniEnv->CallObjectMethodA(carbonReaderBuilderObject, buildID, args);
    +    return carbonReaderBuilderObject;
    +}
    +
     jobject CarbonReader::build() {
         jclass carbonReaderBuilderClass = 
jniEnv->GetObjectClass(carbonReaderBuilderObject);
         jmethodID buildID = jniEnv->GetMethodID(carbonReaderBuilderClass, 
"build",
             "()Lorg/apache/carbondata/sdk/file/CarbonReader;");
         carbonReaderObject = 
jniEnv->CallObjectMethod(carbonReaderBuilderObject, buildID);
    +    carbonReader = jniEnv->GetObjectClass(carbonReaderObject);
    +    hasNextID = jniEnv->GetMethodID(carbonReader, "hasNext", "()Z");
    --- End diff --
    
    These filling can be moved to those functions only down. just have to check 
if not null or 0, then only fill. So that only one time we fill


---

Reply via email to