Hasty Briefsbeta

RRules (yes handling RSCALE) using only PL/pgSQL

9 days ago
  • #RRULE
  • #PostgreSQL
  • #iCalendar
  • Pure PL/pgSQL implementation of iCalendar RRULE (RFC 5545) for PostgreSQL without C extensions.
  • Key features include full timezone support with DST handling, consistent behavior across environments, and production readiness with a comprehensive test suite.
  • Offers 50-75x faster performance than Node.js for single-schedule operations and supports batch processing for multiple schedules.
  • Compatible with various PostgreSQL services like Google AlloyDB, Amazon Aurora, and Azure Database for PostgreSQL.
  • Includes standard RRULE patterns (DAILY, WEEKLY, MONTHLY, YEARLY) and supports sub-day operations (HOURLY, MINUTELY, SECONDLY) with security warnings.
  • Provides functions for generating and querying occurrences, utilities for counting and checking overlaps, and supports both TIMESTAMP and TIMESTAMPTZ.
  • Installation is simple with a single SQL file and includes detailed documentation for usage, API reference, and compliance with RFC standards.
  • Encourages contributions with guidelines for testing, documentation updates, and adherence to RFC specifications.
  • Performance advantages include set-based batch operations, streaming results, and early-exit optimizations.
  • Requires PostgreSQL 12 or higher with no external dependencies or C extensions.