Github user xubo245 commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2899#discussion_r241626594
  
    --- Diff: store/CSDK/src/CarbonWriter.cpp ---
    @@ -98,6 +127,158 @@ void CarbonWriter::withHadoopConf(char *key, char 
*value) {
         carbonWriterBuilderObject = 
jniEnv->CallObjectMethodA(carbonWriterBuilderObject, methodID, args);
     }
     
    +void CarbonWriter::withTableProperty(char *key, char *value) {
    +    if (key == NULL) {
    +        throw std::runtime_error("key parameter can't be NULL.");
    +    }
    +    if (value == NULL) {
    +        throw std::runtime_error("value parameter can't be NULL.");
    +    }
    +    checkBuilder();
    +    jclass carbonWriterBuilderClass = 
jniEnv->GetObjectClass(carbonWriterBuilderObject);
    +    jmethodID methodID = jniEnv->GetMethodID(carbonWriterBuilderClass, 
"withTableProperty",
    +        
"(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/carbondata/sdk/file/CarbonWriterBuilder;");
    +    if (methodID == NULL) {
    +        throw std::runtime_error("Can't find the method in java: 
withTableProperty");
    +    }
    +    jvalue args[2];
    +    args[0].l = jniEnv->NewStringUTF(key);
    +    args[1].l = jniEnv->NewStringUTF(value);
    +    carbonWriterBuilderObject = 
jniEnv->CallObjectMethodA(carbonWriterBuilderObject, methodID, args);
    +}
    +
    +void CarbonWriter::withLoadOption(char *key, char *value) {
    +    if (key == NULL) {
    +        throw std::runtime_error("key parameter can't be NULL.");
    +    }
    +    if (value == NULL) {
    +        throw std::runtime_error("value parameter can't be NULL.");
    +    }
    +    checkBuilder();
    +    jclass carbonWriterBuilderClass = 
jniEnv->GetObjectClass(carbonWriterBuilderObject);
    +    jmethodID methodID = jniEnv->GetMethodID(carbonWriterBuilderClass, 
"withLoadOption",
    +         
"(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/carbondata/sdk/file/CarbonWriterBuilder;");
    +    if (methodID == NULL) {
    +        throw std::runtime_error("Can't find the method in java: 
withLoadOption");
    +    }
    +    jvalue args[2];
    +    args[0].l = jniEnv->NewStringUTF(key);
    +    args[1].l = jniEnv->NewStringUTF(value);
    +    carbonWriterBuilderObject = 
jniEnv->CallObjectMethodA(carbonWriterBuilderObject, methodID, args);
    +}
    +
    +void CarbonWriter::taskNo(long taskNo) {
    +    if (taskNo < 0) {
    +        throw std::runtime_error("taskNo parameter can't be negative.");
    +    }
    +    checkBuilder();
    +    jclass carbonWriterBuilderClass = 
jniEnv->GetObjectClass(carbonWriterBuilderObject);
    +    jmethodID methodID = jniEnv->GetMethodID(carbonWriterBuilderClass, 
"taskNo",
    +        "(J)Lorg/apache/carbondata/sdk/file/CarbonWriterBuilder;");
    +    if (methodID == NULL) {
    +        throw std::runtime_error("Can't find the method in java: taskNo");
    +    }
    +    jvalue args[2];
    +    args[0].j = taskNo;
    +    carbonWriterBuilderObject = 
jniEnv->CallObjectMethodA(carbonWriterBuilderObject, methodID, args);
    +}
    +
    +void CarbonWriter::uniqueIdentifier(long timestamp) {
    +    if (timestamp < 1) {
    +        throw std::runtime_error("timestamp parameter can't be negative.");
    +    }
    +    checkBuilder();
    +    jclass carbonWriterBuilderClass = 
jniEnv->GetObjectClass(carbonWriterBuilderObject);
    +    jmethodID methodID = jniEnv->GetMethodID(carbonWriterBuilderClass, 
"uniqueIdentifier",
    +        "(J)Lorg/apache/carbondata/sdk/file/CarbonWriterBuilder;");
    +    if (methodID == NULL) {
    +        throw std::runtime_error("Can't find the method in java: 
uniqueIdentifier");
    +    }
    +    jvalue args[2];
    --- End diff --
    
    yes, done


---

Reply via email to