Skip to content

Commit

Permalink
feat: introduce postgres to CLI
Browse files Browse the repository at this point in the history
chore: bump version to 93
feat: handle group_by in conversion CLI
feat: add CI tests to postgres - testcontainers
feat: vars now supported in quary.yaml {{ var('example') }}
  • Loading branch information
louisjoecodes committed Feb 29, 2024
1 parent cf1f260 commit 263d6bd
Show file tree
Hide file tree
Showing 32 changed files with 3,513 additions and 1,684 deletions.
138 changes: 131 additions & 7 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

93 changes: 93 additions & 0 deletions proto/gen/es/quary/service/v1/connection_config_pb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,49 @@
import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
import { Message, proto3 } from "@bufbuild/protobuf";

/**
* @generated from message quary.service.v1.Var
*/
export class Var extends Message<Var> {
/**
* @generated from field: string name = 1;
*/
name = "";

/**
* @generated from field: string value = 2;
*/
value = "";

constructor(data?: PartialMessage<Var>) {
super();
proto3.util.initPartial(data, this);
}

static readonly runtime: typeof proto3 = proto3;
static readonly typeName = "quary.service.v1.Var";
static readonly fields: FieldList = proto3.util.newFieldList(() => [
{ no: 1, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 2, name: "value", kind: "scalar", T: 9 /* ScalarType.STRING */ },
]);

static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Var {
return new Var().fromBinary(bytes, options);
}

static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Var {
return new Var().fromJson(jsonValue, options);
}

static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Var {
return new Var().fromJsonString(jsonString, options);
}

static equals(a: Var | PlainMessage<Var> | undefined, b: Var | PlainMessage<Var> | undefined): boolean {
return proto3.util.equals(Var, a, b);
}
}

/**
* Configuration describes the configuration of the project.
*
Expand Down Expand Up @@ -51,8 +94,19 @@ export class ConnectionConfig extends Message<ConnectionConfig> {
*/
value: ConnectionConfig_ConnectionConfigSnowflake;
case: "snowflake";
} | {
/**
* @generated from field: quary.service.v1.ConnectionConfig.ConnectionConfigPostgres postgres = 7;
*/
value: ConnectionConfig_ConnectionConfigPostgres;
case: "postgres";
} | { case: undefined; value?: undefined } = { case: undefined };

/**
* @generated from field: repeated quary.service.v1.Var vars = 8;
*/
vars: Var[] = [];

constructor(data?: PartialMessage<ConnectionConfig>) {
super();
proto3.util.initPartial(data, this);
Expand All @@ -67,6 +121,8 @@ export class ConnectionConfig extends Message<ConnectionConfig> {
{ no: 4, name: "sqlite_in_memory", kind: "message", T: ConnectionConfig_ConnectionConfigSqLiteInMemory, oneof: "config" },
{ no: 5, name: "big_query", kind: "message", T: ConnectionConfig_ConnectionConfigBigQuery, oneof: "config" },
{ no: 6, name: "snowflake", kind: "message", T: ConnectionConfig_ConnectionConfigSnowflake, oneof: "config" },
{ no: 7, name: "postgres", kind: "message", T: ConnectionConfig_ConnectionConfigPostgres, oneof: "config" },
{ no: 8, name: "vars", kind: "message", T: Var, repeated: true },
]);

static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ConnectionConfig {
Expand Down Expand Up @@ -234,6 +290,43 @@ export class ConnectionConfig_ConnectionConfigDuckDBInMemory extends Message<Con
}
}

/**
* @generated from message quary.service.v1.ConnectionConfig.ConnectionConfigPostgres
*/
export class ConnectionConfig_ConnectionConfigPostgres extends Message<ConnectionConfig_ConnectionConfigPostgres> {
/**
* @generated from field: string schema = 1;
*/
schema = "";

constructor(data?: PartialMessage<ConnectionConfig_ConnectionConfigPostgres>) {
super();
proto3.util.initPartial(data, this);
}

static readonly runtime: typeof proto3 = proto3;
static readonly typeName = "quary.service.v1.ConnectionConfig.ConnectionConfigPostgres";
static readonly fields: FieldList = proto3.util.newFieldList(() => [
{ no: 1, name: "schema", kind: "scalar", T: 9 /* ScalarType.STRING */ },
]);

static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ConnectionConfig_ConnectionConfigPostgres {
return new ConnectionConfig_ConnectionConfigPostgres().fromBinary(bytes, options);
}

static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ConnectionConfig_ConnectionConfigPostgres {
return new ConnectionConfig_ConnectionConfigPostgres().fromJson(jsonValue, options);
}

static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ConnectionConfig_ConnectionConfigPostgres {
return new ConnectionConfig_ConnectionConfigPostgres().fromJsonString(jsonString, options);
}

static equals(a: ConnectionConfig_ConnectionConfigPostgres | PlainMessage<ConnectionConfig_ConnectionConfigPostgres> | undefined, b: ConnectionConfig_ConnectionConfigPostgres | PlainMessage<ConnectionConfig_ConnectionConfigPostgres> | undefined): boolean {
return proto3.util.equals(ConnectionConfig_ConnectionConfigPostgres, a, b);
}
}

/**
* @generated from message quary.service.v1.ConnectionConfig.ConnectionConfigBigQuery
*/
Expand Down
7 changes: 7 additions & 0 deletions proto/gen/es/quary/service/v1/project_pb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialM
import { Message, proto3 } from "@bufbuild/protobuf";
import { Model, Seed, Source, Test } from "./types_pb.js";
import { ProjectFile } from "./project_file_pb.js";
import { ConnectionConfig } from "./connection_config_pb.js";

/**
* @generated from message quary.service.v1.Project
Expand Down Expand Up @@ -37,6 +38,11 @@ export class Project extends Message<Project> {
*/
projectFiles: { [key: string]: ProjectFile } = {};

/**
* @generated from field: quary.service.v1.ConnectionConfig connection_config = 8;
*/
connectionConfig?: ConnectionConfig;

constructor(data?: PartialMessage<Project>) {
super();
proto3.util.initPartial(data, this);
Expand All @@ -50,6 +56,7 @@ export class Project extends Message<Project> {
{ no: 5, name: "tests", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: Test} },
{ no: 6, name: "sources", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: Source} },
{ no: 7, name: "project_files", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: ProjectFile} },
{ no: 8, name: "connection_config", kind: "message", T: ConnectionConfig },
]);

static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Project {
Expand Down
Loading

0 comments on commit 263d6bd

Please sign in to comment.