duckdb / community-extensions

https://duckdb.org/community_extensions
147 stars 27 forks source link

Add webmacro #198

Closed lmangani closed 1 week ago

lmangani commented 1 week ago

DuckDB WebMacro

This extension allows loading DuckDB Macros (both scalar and table) from URLs, gists, pasties, etc.

Installation

Coming Soon

Usage

Create a DuckDB SQL Macro statement and save it to a gist. Here's an example

Load your remote macro onto your system using the gist URL:

SELECT load_macro_from_url('https://gist.github.com/lmangani/518215a68e674ac662537d518799b893/raw/5f305480fdd7468f4ecda3686011bab8e8e711bf/bsky.sql') as res;
┌─────────────────────────────────────────┐
│                   res                   │
│                 varchar                 │
├─────────────────────────────────────────┤
│ Successfully loaded macro: search_posts │
└─────────────────────────────────────────┘

Use your new macro and have fun:

D SELECT * FROM search_posts('qxip.bsky.social', text := 'quack');
┌──────────────────┬──────────────┬──────────────────────┬───┬─────────┬─────────┬───────┬────────┐
│  author_handle   │ display_name │      post_text       │ … │ replies │ reposts │ likes │ quotes │
│     varchar      │   varchar    │       varchar        │   │  int64  │  int64  │ int64 │ int64  │
├──────────────────┼──────────────┼──────────────────────┼───┼─────────┼─────────┼───────┼────────┤
│ qxip.bsky.social │ qxip         │ This is super cool…  │ … │       1 │       0 │     1 │      0 │
│ qxip.bsky.social │ qxip         │ github.com/quacksc…  │ … │       0 │       1 │     2 │      0 │
│ qxip.bsky.social │ qxip         │ #DuckDB works grea…  │ … │       2 │       3 │    24 │      0 │
│ qxip.bsky.social │ qxip         │ github.com/quacksc…  │ … │       1 │       0 │     0 │      0 │
│ qxip.bsky.social │ qxip         │ The latest #Quackp…  │ … │       0 │       0 │     2 │      0 │
│ qxip.bsky.social │ qxip         │ The #DuckDB Ecosys…  │ … │       0 │       0 │     5 │      0 │
│ qxip.bsky.social │ qxip         │ Ladies and Gents, …  │ … │       1 │       0 │     4 │      0 │
├──────────────────┴──────────────┴──────────────────────┴───┴─────────┴─────────┴───────┴────────┤
│ 7 rows                                                                      9 columns (7 shown) │
└─────────────────────────────────────────────────────────────────────────────────────────────────┘
carlopi commented 1 week ago

Thanks!