All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eclectic.orc.template.methodWrite.stg Maven / Gradle / Ivy

The newest version!
methodWrite(schemaColumn, sclass) ::= <<
    protected void write(Object inputRow) {
         datum = ()inputRow;
        
                 delegateInstance = new (datum);
        
        
    }
>>

writeStruct(schemaColumn) ::= <<
    
>>

writeColumn(schemaColumn) ::= <<
    
        
    
        {
             vector = ()vectorizedRowBatch.cols[];
            
        }
    
>>

delegateAwareWrite(schemaColumn, method, methods, var) ::= <<
    
        
    
        
    
>>

nullSafeChainAccess(schemaColumn, method, methods, var) ::= <<
    
      = .();
    
        if ( == null) {
            setNull(vector);
        } else {
            
        }
    
        
            <(schemaColumn.template.templateNameColumnSetter)(schemaColumn, "vector", schemaColumn.template.tempVariable, "vectorizedRowBatch.size")>
        
            if ( == null) {
                setNull(vector);
            } else {
                <(schemaColumn.template.templateNameColumnSetter)(schemaColumn, "vector", enumConvertedValue(schemaColumn, schemaColumn.template.tempVariable), "vectorizedRowBatch.size")>
            }
        
    
>>

enumConvertedValue(schemaColumn, value) ::= <<
    .()
>>

convertedValue(schemaColumn, value) ::= << new ().convert(()) >>

columnBinary(schemaColumn, var, val, loc) ::= <<
    // TODO
>>

columnBoolean(schemaColumn, var, val, loc) ::= <<
    
        .vector[] = . ? 1 : 0;
    
        .vector[] =  ? 1 : 0;
    
>>

columnByte(schemaColumn, var, val, loc) ::= <<
    
>>

columnChar(schemaColumn, var, val, loc) ::= <<
    byte[] charArray = new byte[1];
    
        charArray[0] = (byte).;
    
        charArray[0] = (byte);
    
    .setVal(, charArray);
>>

columnDate(schemaColumn, var, val, loc) ::= <<
    
        .vector[] = .toEpochDay();
    
        .vector[] = java.time.Instant.ofEpochMilli(.getTime()).atZone(java.time.ZoneId.systemDefault()).toLocalDate().toEpochDay();
    
>>

columnDecimal(schemaColumn, var, val, loc) ::= <<
    .set(, org.apache.hadoop.hive.common.type.HiveDecimal.create(, false));
>>

columnDouble(schemaColumn, var, val, loc) ::= <<
    
        .vector[] = .;
    
        .vector[] = ;
    
>>

columnFloat(schemaColumn, var, val, loc) ::= <<
    
>>

columnInt(schemaColumn, var, val, loc) ::= <<
    
>>

columnList(schemaColumn, var, val, loc) ::= <<
    
        java.util.List list = ;
    
        java.util.List list = new java.util.ArrayList();
    
        java.util.List list = new java.util.ArrayList();
        java.util.Iterator iterator = .iterator();
        while (iterator.hasNext()) {
            list.add(iterator.next());
        }
    
    .offsets[] = .childCount;
    .lengths[] = list.size();
    .childCount += list.size();
    for (int i = 0; i \< list.size(); i++) {
        int location = ((int).offsets[]) + i;
         childVector = ().child;
        
        
             listElement = ();
            <(schemaColumn.complexType.listChild.template.templateNameColumnSetter)(schemaColumn.complexType.listChild, "childVector", "listElement", "location")>
        
             listElement = ()list.get(i);
            <(schemaColumn.complexType.listChild.template.templateNameColumnSetter)(schemaColumn.complexType.listChild, "childVector", enumConvertedValue(schemaColumn.complexType.listChild, "listElement"), "location")>
        
    }
>>

columnLong(schemaColumn, var, val, loc) ::= <<
    
        .vector[] = .;
    
        .vector[] = ;
    
>>

columnShort(schemaColumn, var, val, loc) ::= <<
    
>>

columnString(schemaColumn, var, val, loc) ::= <<
    .setVal(, .getBytes());
>>

columnTimestamp(schemaColumn, var, val, loc) ::= <<
    
        .set(, java.sql.Timestamp.from(.toInstant()));
    
        .set(, new java.sql.Timestamp(.getTime()));
    
        .set(, );
    
>>

columnVarchar(schemaColumn, var, val, loc) ::= <<
    
>>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy