@sqlanvil/core 1.11.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/configs.proto CHANGED
@@ -116,6 +116,11 @@ message ConnectionConfig {
116
116
  string dataset = 3;
117
117
  // Optional. Non-secret Vault secret id used in generated BigQuery FDW server DDL.
118
118
  string sa_key_id = 4;
119
+ // Optional. BigQuery project that runs/bills the FDW query jobs. Defaults to `project`.
120
+ // Set this to your own project when `project` is a dataset you can read but not bill
121
+ // (e.g. `bigquery-public-data`): the FDW server's `project_id` becomes the billing
122
+ // project and the foreign table reads the source via a full-FQN subquery.
123
+ string billing_project = 9;
119
124
  // Optional. Postgres source host (non-secret; password lives in .df-credentials.json).
120
125
  string host = 5;
121
126
  // Optional. Postgres source port.
@@ -710,6 +715,55 @@ message ActionConfig {
710
715
  ExportOptions export = 10;
711
716
  }
712
717
 
718
+ // The user-facing `import: {}` block on a `type: "import"` action.
719
+ message ImportOptions {
720
+ // Source file/glob/URI to read: gs:// | s3:// | local:// | relative/absolute path.
721
+ // Used verbatim (unlike export, where the filename is derived) — point it at the exact
722
+ // file or glob (e.g. gs://bucket/orders/*.parquet).
723
+ string location = 1;
724
+ // "parquet" | "csv" | "json" (json = JSONL).
725
+ string format = 2;
726
+ // Replace the destination table (drop + create). Defaults to true. When false, rows are
727
+ // appended (INSERT … SELECT) into an existing table.
728
+ bool overwrite = 3;
729
+ // Format-specific passthrough options (reserved for future reader options).
730
+ map<string, string> options = 4;
731
+ }
732
+
733
+ // Configuration for a `type: "import"` action: loads a Parquet/CSV/JSON file into a table in
734
+ // the warehouse (the inverse of `type: "export"`). The resulting table is ref()-able.
735
+ message ImportConfig {
736
+ // The name of the import (the destination table name).
737
+ string name = 1;
738
+
739
+ // The dataset (schema) used to qualify the import's target name.
740
+ string dataset = 2;
741
+
742
+ // The Google Cloud project (database) of the import.
743
+ string project = 3;
744
+
745
+ // Targets of actions that this action is dependent on.
746
+ repeated Target dependency_targets = 4;
747
+
748
+ // Path to the source .sqlx file the action is defined in (generated).
749
+ string filename = 5;
750
+
751
+ // A list of user-defined tags with which the action should be labeled.
752
+ repeated string tags = 6;
753
+
754
+ // If set to true, this action will not be executed.
755
+ bool disabled = 7;
756
+
757
+ // Description of the import.
758
+ string description = 8;
759
+
760
+ // If true, this action only depends on data from explicitly-declared dependencies.
761
+ bool hermetic = 9;
762
+
763
+ // The import source + format options (the `import: {}` block).
764
+ ImportOptions import = 10;
765
+ }
766
+
713
767
  message DeclarationConfig {
714
768
  // The name of the declaration.
715
769
  string name = 1;
@@ -835,6 +889,7 @@ message ActionConfig {
835
889
  ForeignWrapperConfig foreign_wrapper = 11;
836
890
  VectorIndexConfig vector_index = 12;
837
891
  ExportConfig export = 13;
892
+ ImportConfig import = 14;
838
893
  }
839
894
 
840
895
  message RlsPolicyConfig {
package/core.proto CHANGED
@@ -287,6 +287,28 @@ message Export {
287
287
  string jit_code = 15;
288
288
  }
289
289
 
290
+ // A compiled file import: loads the file at `location` into the table at `target`. The inverse
291
+ // of Export — a producer whose target is ref()-able by downstream actions.
292
+ message Import {
293
+ Target target = 1;
294
+ Target canonical_target = 2;
295
+ repeated Target dependency_targets = 3;
296
+ ActionHermeticity hermeticity = 4;
297
+ bool disabled = 5;
298
+ repeated string tags = 6;
299
+ ActionDescriptor action_descriptor = 7;
300
+ // Source file/glob/URI to read (used verbatim).
301
+ string location = 8;
302
+ // "parquet" | "csv" | "json".
303
+ string format = 9;
304
+ // Replace (drop + create) vs append (INSERT … SELECT). Defaults true.
305
+ bool overwrite = 10;
306
+ map<string, string> options = 11;
307
+ // Source .sqlx file path (generated).
308
+ string file_name = 12;
309
+ string jit_code = 13;
310
+ }
311
+
290
312
  message Assertion {
291
313
  Target target = 8;
292
314
  Target canonical_target = 13;
@@ -456,6 +478,7 @@ message CompiledGraph {
456
478
  repeated Notebook notebooks = 12;
457
479
  repeated DataPreparation data_preparations = 13;
458
480
  repeated Export exports = 14;
481
+ repeated Import imports = 16;
459
482
 
460
483
  GraphErrors graph_errors = 7;
461
484
 
package/package.json CHANGED
@@ -34,7 +34,7 @@
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "version": "1.11.0",
37
+ "version": "1.13.0",
38
38
  "name": "@sqlanvil/core",
39
39
  "description": "sqlanvil core API.",
40
40
  "main": "bundle.js"