🔬 What's Novel
- Query intent inference from syntactic and dynamic analysis for database migration
- Pattern library mapping MySQL idioms to semantically equivalent SkeinQL features
- Intent-preserving migration framework that improves performance, not just compatibility
- Empirical study of automatic database migration tools and developer adoption rates
🔧 Technical Approach
Phase 1 — Pattern Library
Catalog common query patterns and their intents: LIMIT/OFFSET pagination, recursive CTEs for hierarchies, COALESCE chains for defaults, EXISTS subqueries for membership testing.
Phase 2 — Pattern Detection
Three detection modes: syntactic matching (single query analysis), sequence matching (multi-query pattern recognition), and dynamic analysis (parameter correlation tracking).
Phase 3 — Intent Mapping
Map detected intents to SkeinQL: pagination → cursor API, hierarchies → graph queries, polling → CDC subscriptions, soft deletes → MVCC time-travel queries.
Phase 4 — Migration Assistant
Interactive assistant presenting detected patterns with suggestions, before/after query comparison, performance estimates, and automatic rewrite for safe transformations.
🧪 Hypotheses
Common application patterns (pagination, hierarchical queries, soft deletes) have recognizable query signatures detectable at the database layer.
Intent-preserving migrations to SkeinQL achieve better performance than syntax-preserving SQL rewrites.
Developers adopt intent-based migration suggestions at higher rates than purely syntactic transformation suggestions.
🔗 SkeinDB Integration
📚 Key References
- Cheung et al. — "Optimizing Database-Backed Applications with Query Synthesis" (2013)
- Barowy et al. — "CUSTODIAN: Providing Guarantees for Data-Driven Applications" (2016)