MCPcopy Create free account
hub / github.com/dolthub/doltgresql / main

Function main

testing/postgres-client-tests/rust/src/main.rs:15–75  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

13
14#[tokio::main]
15async fn main() -> Result<(), Box<dyn std::error::Error>> {
16 let mut args = std::env::args();
17 let program = args.next().unwrap_or_else(|| "app".to_string());
18 let user = args.next().ok_or_else(|| {
19 format!("Usage: {program} <USER> <PORT>")
20 })?;
21 let port: u16 = args.next().ok_or_else(|| {
22 format!("Usage: {program} <USER> <PORT>")
23 })?.parse()?;
24 let database_url = format!("postgresql://{user}:password@localhost:{port}/postgres");
25 let pool = PgPoolOptions::new()
26 .max_connections(5)
27 .connect(&database_url)
28 .await?;
29
30 let exists: bool = sqlx::query_scalar("SELECT EXISTS(SELECT 1 FROM pg_catalog.pg_tables WHERE tablename = $1);")
31 .bind("test_table")
32 .fetch_one(&pool)
33 .await?;
34 println!("exists={exists}");
35
36 sqlx::query("DROP TABLE IF EXISTS users, events;")
37 .execute(&pool)
38 .await?;
39
40 sqlx::query("CREATE TABLE users (id uuid default gen_random_uuid(), name text, email text);")
41 .execute(&pool)
42 .await?;
43
44 sqlx::query("INSERT INTO users (name, email) VALUES ($1, $2)")
45 .bind("Alice")
46 .bind("alice@example.com")
47 .execute(&pool)
48 .await?;
49
50 let some_uuid: Uuid = sqlx::query_scalar("SELECT id FROM users WHERE email = $1 LIMIT 1")
51 .bind("alice@example.com")
52 .fetch_one(&pool)
53 .await?;
54
55 sqlx::query("UPDATE users SET name = $1 WHERE id = $2")
56 .bind("Bob")
57 .bind(some_uuid)
58 .execute(&pool)
59 .await?;
60
61 sqlx::query("CREATE TABLE events (id UUID PRIMARY KEY, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), event_date DATE);")
62 .execute(&pool)
63 .await?;
64
65 let some_id: Uuid = sqlx::query_scalar("INSERT INTO events (id, event_date) VALUES (gen_random_uuid(), '2026-02-12') RETURNING id;")
66 .fetch_one(&pool)
67 .await?;
68
69 let __event = sqlx::query_as::<_, Event>("SELECT * FROM events WHERE id = $1")
70 .bind(some_id)
71 .fetch_one(&pool)
72 .await?;

Callers

nothing calls this directly

Calls 2

parseMethod · 0.80
nextMethod · 0.45

Tested by

no test coverage detected