This commit is contained in:
filipriec
2025-07-24 10:55:03 +02:00
parent aca3d718b5
commit 089d728cc7
3 changed files with 486 additions and 27 deletions

View File

@@ -69,6 +69,12 @@ pub async fn execute_script(
current_table: String,
row_data: HashMap<String, String>,
) -> Result<Value, ExecutionError> {
eprintln!("🚨🚨🚨 EXECUTE_SCRIPT CALLED 🚨🚨🚨");
eprintln!("Script: '{}'", script);
eprintln!("Table: {}, Target type: {}", current_table, target_type);
eprintln!("Input row_data: {:?}", row_data);
eprintln!("🚨🚨🚨 END EXECUTE_SCRIPT ENTRY 🚨🚨🚨");
println!("=== STEEL SCRIPT EXECUTION START ===");
println!("Script: '{}'", script);
println!("Table: {}, Target type: {}", current_table, target_type);

View File

@@ -22,13 +22,16 @@ pub async fn put_table_data(
request: PutTableDataRequest,
indexer_tx: &mpsc::Sender<IndexCommand>,
) -> Result<PutTableDataResponse, Status> {
eprintln!("🔥🔥🔥 PUT_TABLE_DATA FUNCTION CALLED 🔥🔥🔥");
eprintln!("Request: {:?}", request);
let profile_name = request.profile_name;
let table_name = request.table_name;
let record_id = request.id;
println!("=== PUT TABLE DATA START ===");
println!("Profile: {}, Table: {}, Record ID: {}", profile_name, table_name, record_id);
println!("Request data: {:?}", request.data);
eprintln!("=== PUT TABLE DATA START ===");
eprintln!("Profile: {}, Table: {}, Record ID: {}", profile_name, table_name, record_id);
eprintln!("Request data: {:?}", request.data);
if request.data.is_empty() {
return Ok(PutTableDataResponse {
@@ -182,8 +185,8 @@ pub async fn put_table_data(
println!("{:?}", current_row_data);
// --- Data Merging Logic ---
eprintln!("🚨🚨🚨 EXTRACTING UPDATE DATA FROM REQUEST 🚨🚨🚨");
let mut update_data = HashMap::new();
println!("=== EXTRACTING UPDATE DATA FROM REQUEST ===");
for (key, proto_value) in &request.data {
let str_val = match &proto_value.kind {
Some(Kind::StringValue(s)) => s.trim().to_string(),
@@ -192,19 +195,16 @@ pub async fn put_table_data(
Some(Kind::NullValue(_)) | None => String::new(),
_ => return Err(Status::invalid_argument(format!("Unsupported type for column '{}'", key))),
};
println!("UPDATE_DATA[{}] = '{}'", key, str_val);
// Always add the value, even if empty (to properly override current values)
eprintln!("🔥 UPDATE_DATA[{}] = '{}'", key, str_val);
update_data.insert(key.clone(), str_val);
}
println!("=== UPDATE DATA EXTRACTED ===");
println!("{:?}", update_data);
eprintln!("🚨 UPDATE DATA EXTRACTED: {:?}", update_data);
let mut final_context_data = current_row_data.clone();
eprintln!("🚨 BEFORE EXTEND - final_context_data: {:?}", final_context_data);
final_context_data.extend(update_data.clone());
println!("=== FINAL CONTEXT DATA FOR STEEL ===");
println!("{:?}", final_context_data);
eprintln!("🚨 AFTER EXTEND - final_context_data: {:?}", final_context_data);
// Script validation with type-aware comparison
for script_record in scripts {