@Override
    protected void toThrift(TPlanNode planNode) {
        planNode.setNode_type(TPlanNodeType.FILE_SCAN_NODE);
        TFileScanNode fileScanNode = new TFileScanNode(desc.getId().asInt());
        fileScanNode.setEnable_pipeline_load(true);
        planNode.setFile_scan_node(fileScanNode);
    }
@Test
    public void testSetColumnOfDecimal() {
        Analyzer analyzer = new Analyzer(globalStateMgr, connectContext);
        DescriptorTable descTbl = analyzer.getDescTbl();
        List<Column> columns = getDecimalSchema();

        TupleDescriptor dstDesc = descTbl.createTupleDescriptor("DstTableDesc");
        for (Column column : columns) {
            SlotDescriptor slot = descTbl.addSlotDescriptor(dstDesc);
            slot.setColumn(column);
            slot.setIsMaterialized(true);
            if (column.isAllowNull()) {
                slot.setIsNullable(true);
            } else {
                slot.setIsNullable(false);
            }
        }
        TDescriptorTable tableDesc = descTbl.toThrift();
        TSlotDescriptor slotDesc = tableDesc.getSlotDescriptors().get(2);
        TTypeNode typeNode = slotDesc.slotType.getTypes().get(0);
        Assert.assertTrue(typeNode.isSetScalar_type());
        Assert.assertEquals(typeNode.scalar_type.type, TPrimitiveType.DECIMAL128);
        Assert.assertEquals(typeNode.scalar_type.precision, 38);
        Assert.assertEquals(typeNode.scalar_type.scale, 9);
    }