(out io.Writer, extension *storepb.ExtensionMetadata)
| 2452 | } |
| 2453 | |
| 2454 | func writeExtension(out io.Writer, extension *storepb.ExtensionMetadata) error { |
| 2455 | if _, err := io.WriteString(out, `CREATE EXTENSION IF NOT EXISTS "`); err != nil { |
| 2456 | return err |
| 2457 | } |
| 2458 | |
| 2459 | if _, err := io.WriteString(out, extension.Name); err != nil { |
| 2460 | return err |
| 2461 | } |
| 2462 | |
| 2463 | if _, err := io.WriteString(out, `"`); err != nil { |
| 2464 | return err |
| 2465 | } |
| 2466 | |
| 2467 | // Add WITH SCHEMA clause if schema is specified and not empty |
| 2468 | if extension.Schema != "" { |
| 2469 | if _, err := io.WriteString(out, ` WITH SCHEMA "`); err != nil { |
| 2470 | return err |
| 2471 | } |
| 2472 | if _, err := io.WriteString(out, extension.Schema); err != nil { |
| 2473 | return err |
| 2474 | } |
| 2475 | if _, err := io.WriteString(out, `"`); err != nil { |
| 2476 | return err |
| 2477 | } |
| 2478 | } |
| 2479 | |
| 2480 | // Add VERSION clause if version is specified |
| 2481 | if extension.Version != "" { |
| 2482 | if _, err := io.WriteString(out, ` VERSION '`); err != nil { |
| 2483 | return err |
| 2484 | } |
| 2485 | if _, err := io.WriteString(out, extension.Version); err != nil { |
| 2486 | return err |
| 2487 | } |
| 2488 | if _, err := io.WriteString(out, `'`); err != nil { |
| 2489 | return err |
| 2490 | } |
| 2491 | } |
| 2492 | |
| 2493 | if _, err := io.WriteString(out, `;`); err != nil { |
| 2494 | return err |
| 2495 | } |
| 2496 | |
| 2497 | if _, err := io.WriteString(out, "\n"); err != nil { |
| 2498 | return err |
| 2499 | } |
| 2500 | |
| 2501 | // Write extension description (comment) if present |
| 2502 | if extension.Description != "" { |
| 2503 | if _, err := io.WriteString(out, "\n"); err != nil { |
| 2504 | return err |
| 2505 | } |
| 2506 | if err := writeExtensionComment(out, extension); err != nil { |
| 2507 | return err |
| 2508 | } |
| 2509 | } else { |
| 2510 | // Add blank line even if no description |
| 2511 | if _, err := io.WriteString(out, "\n"); err != nil { |
no test coverage detected