Skip to content

feat: Add a Gemini-powered dataset translation tool.#257

Open
totoleon wants to merge 7 commits intomainfrom
dataset_translation
Open

feat: Add a Gemini-powered dataset translation tool.#257
totoleon wants to merge 7 commits intomainfrom
dataset_translation

Conversation

@totoleon
Copy link
Collaborator

@totoleon totoleon commented Mar 6, 2026

It supports cross-engine translation, including schema mapping, data migration, and query conversion. All translations leverage LLM-generated artifacts paired with programmatic verification.

@totoleon totoleon force-pushed the dataset_translation branch from e4ac3a1 to 88e0232 Compare March 6, 2026 23:05
    It supports cross-engine translation, including schema mapping, data migration, and query conversion. All translations leverage LLM-generated artifacts paired with programmatic verification.
@totoleon totoleon force-pushed the dataset_translation branch from 88e0232 to aa3a564 Compare March 6, 2026 23:10
@IsmailMehdi
Copy link
Collaborator

Please take a look at the codeQ comments

IsmailMehdi and others added 2 commits March 13, 2026 12:49
- Add super().__init__() call in MySQLImporter.__init__
- Fix file descriptor leak in silence_stderr() using sentinel values and outer finally block
- Remove unnecessary pass statements in SpannerImporter
- Remove unused imports (Optional, Any, GoogleAPICallError, time, shutil)
- Remove unused Path import from pg_to_bigquery.py and pg_to_spanner.py
- Remove unused ConversionStatus import from pg_to_mysql.py
- Remove unused Path, List, Tuple imports from query_executor.py
- Remove unused Dict, datetime imports from run_conversion_examples.py
- Remove unused time, GoogleAPICallError, io imports from spanner_importer.py
- Remove unused ConversionStatus imports from sqlite_to_mysql.py and sqlite_to_pg.py
- Remove unused Path import from sqlite_to_spanner.py
- Remove unused collections import from agent.py
- Remove duplicate google.auth import from spanner_importer.py
- Remove unused local variables (attempt_history, rows_to_insert, result, fk_results)
- Drop unused exception bindings (batch_exc, e) in except clauses
finally:
try:
cursor.execute("SET FOREIGN_KEY_CHECKS=1")
except Exception:
cursor.execute(f"TRUNCATE TABLE `{table_name}`")
cursor.execute(f"SET FOREIGN_KEY_CHECKS=1")
conn.commit()
except Exception:
)
# Query above is standard SQL, Spanner might differ slightly in IS structure.
# Fallback: simpler approach or try standard.
except Exception:
# Allow small floating point differences
if abs(src_num - dst_num) < 1e-6:
continue
except (ValueError, TypeError):
# For simplicity let's stick to strings for complex types and let client handle if possible,
# or add handling if we see errors.
return value
except:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants