Skip to content

Commit 0e18be4

Browse files
committed
revert _extract_value_int64 return type change in favor of casting in grammar.y itself
1 parent e0fd473 commit 0e18be4

6 files changed

Lines changed: 34 additions & 63 deletions

File tree

meta/src/meta/codegen_go.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -935,20 +935,6 @@ def _generate_Assign(self, expr, lines: list[str], indent: str) -> str:
935935
self.mark_declared(var_name)
936936
return self.gen_none()
937937

938-
# Integer literal with explicit Int32/Int64/... annotation: avoid untyped `:= 0` (int)
939-
# so later assignments from int64 (e.g. _extract_value_int64) type-check.
940-
if (
941-
isinstance(expr.expr, Lit)
942-
and type(expr.expr.value) is int
943-
and expr.var.type is not None
944-
):
945-
var_type = self.gen_type(expr.var.type)
946-
if var_type in ("int64", "int32", "uint32", "uint64"):
947-
lines.append(
948-
f"{indent}{self.gen_assignment(var_name, f'{var_type}({expr.expr.value})')}"
949-
)
950-
return self.gen_none()
951-
952938
# Regular assignment
953939
expr_code = self.generate_lines(expr.expr, lines, indent)
954940
assert expr_code is not None, (

meta/src/meta/grammar.y

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1328,7 +1328,7 @@ def _extract_value_int32(value: Optional[logic.Value], default: int) -> Int32:
13281328
return builtin.int64_to_int32(default)
13291329

13301330

1331-
def _extract_value_int64(value: Optional[logic.Value], default: int) -> Int64:
1331+
def _extract_value_int64(value: Optional[logic.Value], default: int) -> int:
13321332
if value is not None and builtin.has_proto_field(builtin.unwrap_option(value), 'int_value'):
13331333
return builtin.unwrap_option(value).int_value
13341334
return default
@@ -1669,14 +1669,10 @@ def construct_export_iceberg_config_full(
16691669
columns: Sequence[transactions.IcebergExportColumn],
16701670
config_dict: Optional[Sequence[Tuple[String, logic.Value]]],
16711671
) -> transactions.ExportIcebergConfig:
1672-
prefix: String = ""
1673-
target_file_size_bytes: Int64 = 0
1674-
compression: String = ""
1675-
if config_dict is not None:
1676-
cfg: Dict[String, logic.Value] = builtin.dict_from_list(builtin.unwrap_option(config_dict))
1677-
prefix = _extract_value_string(builtin.dict_get(cfg, "prefix"), "")
1678-
target_file_size_bytes = _extract_value_int64(builtin.dict_get(cfg, "target_file_size_bytes"), 0)
1679-
compression = _extract_value_string(builtin.dict_get(cfg, "compression"), "")
1672+
cfg: Dict[String, logic.Value] = builtin.dict_from_list(builtin.unwrap_option_or(config_dict, list[Tuple[String, logic.Value]]()))
1673+
prefix: String = _extract_value_string(builtin.dict_get(cfg, "prefix"), "")
1674+
target_file_size_bytes: int = _extract_value_int64(builtin.dict_get(cfg, "target_file_size_bytes"), 0)
1675+
compression: String = _extract_value_string(builtin.dict_get(cfg, "compression"), "")
16801676
return transactions.ExportIcebergConfig(
16811677
locator=locator,
16821678
config=config,

meta/tests/meta/test_codegen_go.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,13 +232,13 @@ def test_go_assignment_generation():
232232
lines = []
233233
expr = Assign(Var("x", _int_type), Lit(42))
234234
gen.generate_lines(expr, lines, "")
235-
assert "x := int64(42)" in lines[0]
235+
assert "x := 42" in lines[0]
236236

237237
# Second assignment uses =
238238
lines = []
239239
expr = Assign(Var("x", _int_type), Lit(100))
240240
gen.generate_lines(expr, lines, "")
241-
assert "x = int64(100)" in lines[0]
241+
assert "x = 100" in lines[0]
242242

243243

244244
def test_go_return_generation():

sdks/go/src/parser.go

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -863,20 +863,19 @@ func (p *Parser) construct_iceberg_config(catalog_uri string, scope_opt *string,
863863
}
864864

865865
func (p *Parser) construct_export_iceberg_config_full(locator *pb.IcebergLocator, config *pb.IcebergConfig, columns []*pb.IcebergExportColumn, config_dict [][]interface{}) *pb.ExportIcebergConfig {
866-
prefix := ""
867-
target_file_size_bytes := int64(0)
868-
compression := ""
869-
if config_dict != nil {
870-
cfg := dictFromList(config_dict)
871-
_t2098 := p._extract_value_string(dictGetValue(cfg, "prefix"), "")
872-
prefix = _t2098
873-
_t2099 := p._extract_value_int64(dictGetValue(cfg, "target_file_size_bytes"), 0)
874-
target_file_size_bytes = _t2099
875-
_t2100 := p._extract_value_string(dictGetValue(cfg, "compression"), "")
876-
compression = _t2100
877-
}
878-
_t2101 := &pb.ExportIcebergConfig{Locator: locator, Config: config, Columns: columns, Prefix: ptr(prefix), TargetFileSizeBytes: ptr(target_file_size_bytes), Compression: compression}
879-
return _t2101
866+
_t2098 := config_dict
867+
if config_dict == nil {
868+
_t2098 = [][]interface{}{}
869+
}
870+
cfg := dictFromList(_t2098)
871+
_t2099 := p._extract_value_string(dictGetValue(cfg, "prefix"), "")
872+
prefix := _t2099
873+
_t2100 := p._extract_value_int64(dictGetValue(cfg, "target_file_size_bytes"), 0)
874+
target_file_size_bytes := _t2100
875+
_t2101 := p._extract_value_string(dictGetValue(cfg, "compression"), "")
876+
compression := _t2101
877+
_t2102 := &pb.ExportIcebergConfig{Locator: locator, Config: config, Columns: columns, Prefix: ptr(prefix), TargetFileSizeBytes: ptr(target_file_size_bytes), Compression: compression}
878+
return _t2102
880879
}
881880

882881
// --- Parse functions ---

sdks/julia/LogicalQueryProtocol.jl/src/parser.jl

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -572,18 +572,13 @@ function construct_iceberg_config(parser::ParserState, catalog_uri::String, scop
572572
end
573573

574574
function construct_export_iceberg_config_full(parser::ParserState, locator::Proto.IcebergLocator, config::Proto.IcebergConfig, columns::Vector{Proto.IcebergExportColumn}, config_dict::Union{Nothing, Vector{Tuple{String, Proto.Value}}})::Proto.ExportIcebergConfig
575-
prefix = ""
576-
target_file_size_bytes = 0
577-
compression = ""
578-
if !isnothing(config_dict)
579-
cfg = Dict(config_dict)
580-
_t2087 = _extract_value_string(parser, get(cfg, "prefix", nothing), "")
581-
prefix = _t2087
582-
_t2088 = _extract_value_int64(parser, get(cfg, "target_file_size_bytes", nothing), 0)
583-
target_file_size_bytes = _t2088
584-
_t2089 = _extract_value_string(parser, get(cfg, "compression", nothing), "")
585-
compression = _t2089
586-
end
575+
cfg = Dict((!isnothing(config_dict) ? config_dict : Tuple{String, Proto.Value}[]))
576+
_t2087 = _extract_value_string(parser, get(cfg, "prefix", nothing), "")
577+
prefix = _t2087
578+
_t2088 = _extract_value_int64(parser, get(cfg, "target_file_size_bytes", nothing), 0)
579+
target_file_size_bytes = _t2088
580+
_t2089 = _extract_value_string(parser, get(cfg, "compression", nothing), "")
581+
compression = _t2089
587582
_t2090 = Proto.ExportIcebergConfig(locator=locator, config=config, columns=columns, prefix=prefix, target_file_size_bytes=target_file_size_bytes, compression=compression)
588583
return _t2090
589584
end

sdks/python/src/lqp/gen/parser.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -650,18 +650,13 @@ def construct_iceberg_config(self, catalog_uri: str, scope_opt: str | None, prop
650650
return _t2095
651651

652652
def construct_export_iceberg_config_full(self, locator: logic_pb2.IcebergLocator, config: logic_pb2.IcebergConfig, columns: Sequence[transactions_pb2.IcebergExportColumn], config_dict: Sequence[tuple[str, logic_pb2.Value]] | None) -> transactions_pb2.ExportIcebergConfig:
653-
prefix = ""
654-
target_file_size_bytes = 0
655-
compression = ""
656-
if config_dict is not None:
657-
assert config_dict is not None
658-
cfg = dict(config_dict)
659-
_t2096 = self._extract_value_string(cfg.get("prefix"), "")
660-
prefix = _t2096
661-
_t2097 = self._extract_value_int64(cfg.get("target_file_size_bytes"), 0)
662-
target_file_size_bytes = _t2097
663-
_t2098 = self._extract_value_string(cfg.get("compression"), "")
664-
compression = _t2098
653+
cfg = dict((config_dict if config_dict is not None else []))
654+
_t2096 = self._extract_value_string(cfg.get("prefix"), "")
655+
prefix = _t2096
656+
_t2097 = self._extract_value_int64(cfg.get("target_file_size_bytes"), 0)
657+
target_file_size_bytes = _t2097
658+
_t2098 = self._extract_value_string(cfg.get("compression"), "")
659+
compression = _t2098
665660
_t2099 = transactions_pb2.ExportIcebergConfig(locator=locator, config=config, columns=columns, prefix=prefix, target_file_size_bytes=target_file_size_bytes, compression=compression)
666661
return _t2099
667662

0 commit comments

Comments
 (0)