MCPcopy Create free account
hub / github.com/dataform-co/dataform / table

Method table

cli/api/dbadapters/bigquery.ts:249–290  ·  view source on GitHub ↗
(target: dataform.ITarget)

Source from the content-addressed store, hash-verified

247 }
248
249 public async table(target: dataform.ITarget): Promise<dataform.ITableMetadata> {
250 const metadata = await this.getMetadata(target);
251
252 if (!metadata) {
253 return null;
254 }
255
256 // Database isn't checked for equality as it's not always presented to the compiled graph, but
257 // IS always available in the warehouse.
258 if (
259 metadata.tableReference.datasetId !== target.schema ||
260 metadata.tableReference.tableId !== target.name
261 ) {
262 const metadataTarget = {
263 database: metadata.tableReference.projectId,
264 schema: metadata.tableReference.datasetId,
265 name: metadata.tableReference.tableId
266 };
267 throw new Error(
268 `Target ${JSON.stringify(metadataTarget)} does not match requested target ${JSON.stringify(
269 target
270 )}.`
271 );
272 }
273
274 return dataform.TableMetadata.create({
275 type:
276 metadata.type === "TABLE"
277 ? dataform.TableMetadata.Type.TABLE
278 : metadata.type === "VIEW"
279 ? dataform.TableMetadata.Type.VIEW
280 : dataform.TableMetadata.Type.UNKNOWN,
281 target,
282 fields: metadata.schema.fields?.map(field => convertField(field)),
283 lastUpdatedMillis: Long.fromString(metadata.lastModifiedTime),
284 description: metadata.description,
285 labels: metadata.labels,
286 bigquery: {
287 hasStreamingBuffer: !!metadata.streamingBuffer
288 }
289 });
290 }
291
292 public async deleteTable(target: dataform.ITarget): Promise<void> {
293 await this.getClient(target.database)

Callers 2

tablesMethod · 0.95
searchMethod · 0.95

Calls 4

getMetadataMethod · 0.95
convertFieldFunction · 0.85
stringifyMethod · 0.80
createMethod · 0.65

Tested by

no test coverage detected