5 مستودعات
Executes custom logic written in Rust on streaming data, achieving native-level performance.
Distinct from User-Defined Data Functions: Distinct from User-Defined Data Functions: specifically for Rust implementation, not general SQL function definitions.
Explore 5 awesome GitHub repositories matching development tools & productivity · Rust User-Defined Functions. Refine with filters or upvote what's useful.
wasm-bindgen هو مولد روابط وطبقة تشغيل بيني مصممة لتعيين أنواع البيانات والوظائف عبر الحدود بين WebAssembly وJavaScript. يعمل كواجهة وظائف أجنبية (foreign function interface) تقوم بتوليد الكود المتكرر الضروري لتمكين التواصل ثنائي الاتجاه بين Rust وبيئة تشغيل المتصفح. يولد المشروع كود الغراء والمغلفات التي تؤتمت تحويل الأنواع المعقدة، مما يسمح بتصدير وظائف Rust كوحدات JavaScript واستيراد واجهات برمجة تطبيقات المتصفح إلى Rust. يستخدم وحدات الماكرو الإجرائية لتعريف هذه الواجهات ويولد الروابط بناءً على تعريفات أنواع Rust. يدير النظام الذاكرة من خلال تمرير مؤشر الذاكرة الخطية ويتعامل مع تبادل الموارد باستخدام مقابض الذاكرة التي تديرها JavaScript. يعتمد على اتفاقية استدعاء متوافقة مع C ABI لتمرير الأعداد الصحيحة والأرقام العشرية البدائية بين الوحدة والمضيف.
Uses procedural macros to annotate Rust functions and types for export to the JavaScript environment.
Arroyo is a high-performance stream processing platform built in Rust. It executes continuous SQL queries on streaming data with event-time semantics, enabling accurate windowed aggregations, joins, and stateful computations on unbounded event streams. The platform uses native Rust execution for high throughput and low latency, with periodic checkpointing for exactly-once fault tolerance and horizontal scaling across distributed workers. The system integrates deeply with Kafka for reading and writing topics with exactly-once delivery and supports change data capture (CDC) from MySQL and Postg
Enables high-performance custom transformations by writing user-defined functions in Rust.
pgx هو إطار عمل ومجموعة أدوات لتطوير إضافات PostgreSQL عالية الأداء باستخدام لغة البرمجة Rust. يوفر غلاف API منخفض المستوى للتفاعل مع سياقات ذاكرة قاعدة البيانات الداخلية، وأنظمة التسجيل، وواجهات برمجة تطبيقات التنفيذ الأساسية، مما يتيح تنفيذ وظائف ومنطق قاعدة بيانات مخصص مباشرة داخل محرك قاعدة البيانات. يتميز المشروع بأداة بناء مخصصة وواجهة سطر أوامر تدير دورة حياة تطوير الإضافات، بدءاً من تهيئة البيئة وحتى حزم الملفات الثنائية. يتضمن أداة تعيين الأنواع (type mapper) التي تترجم هياكل اللغة إلى أنواع مركبة في قاعدة البيانات وتنشئ تعريفات مخطط SQL المقابلة تلقائياً. يغطي إطار العمل مساحة واسعة من القدرات بما في ذلك تعيين الوظائف المعرفة من قبل المستخدم، وتكامل البروتوكول الثنائي، ودعم استهداف إصدارات متعددة لضمان التوافق عبر إصدارات قاعدة البيانات المختلفة. كما يوفر أغلفة متخصصة لإدارة الذاكرة للتعامل مع المؤشرات ومنع التسريبات داخل بيئة قاعدة البيانات.
Maps typed Rust functions to the PostgreSQL internal execution system to create custom functions and triggers.
pgrx is a framework for building and packaging custom PostgreSQL extensions using Rust. It serves as a foreign function interface bridge that maps Rust types and functions to the internal server programming interface of the database. The project provides a specialized toolchain for cross-compilation across different operating systems and target architectures using custom sysroots. It includes a schema generator that automatically translates high-level language structures into SQL definitions and binary protocol mappings. The framework manages memory safety by wrapping database memory context
Provides a complete toolkit for defining PostgreSQL user-defined functions, triggers, and custom types in Rust.
uniffi-rs is a Rust FFI binding generator and multi-language binding tool. It functions as an automated binding scaffolder that creates type-safe foreign function interfaces and native wrappers for Rust libraries in languages such as Swift, Kotlin, and Python. The project provides a system for cross-language interface definition, allowing functions and data structures to be specified in a shared format to ensure consistent API signatures across platforms. It further serves as an FFI memory management layer, handling object lifetimes and thread safety when sharing state between Rust and foreig
Annotates functions and traits with export macros to expose them across FFI without a separate definition file.