mirror of
https://github.com/lancedb/lancedb.git
synced 2026-10-13 23:32:27 +00:00
docs: fix the two snippet imports Mint cannot resolve
Two pages imported PySchemaAddSetup under the alias SchemaAddSetup, and Mint resolved only the first, failing `mint validate` on management/table.mdx. Both pages now import it unaliased. TsAddProgress was added to the generated tables snippets by hand in lancedb/docs#243 and dropped by the next regeneration, leaving ingestion/insert.mdx with a missing import. Its example is restored unchanged as a test in docs/web-tests/ts/tables.test.ts, which checks that the callback reports the finished write.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
// SPDX-FileCopyrightText: Copyright The LanceDB Authors
|
||||
import { expect, test } from "@jest/globals";
|
||||
import { expect, jest, test } from "@jest/globals";
|
||||
import * as arrow from "apache-arrow";
|
||||
import * as lancedb from "@lancedb/lancedb";
|
||||
import { withTempDirectory } from "./util.ts";
|
||||
@@ -194,6 +194,40 @@ test("table creation snippets (async)", async () => {
|
||||
});
|
||||
});
|
||||
|
||||
test("add progress snippet (async)", async () => {
|
||||
await withTempDirectory(async (databaseDir) => {
|
||||
const db = await lancedb.connect(databaseDir);
|
||||
const table = await db.createTable("progress_table", [
|
||||
{ vector: [1.1, 1.2], item: "foo" },
|
||||
]);
|
||||
const moreData = [
|
||||
{ vector: [2.1, 2.2], item: "bar" },
|
||||
{ vector: [3.1, 3.2], item: "baz" },
|
||||
];
|
||||
const log = jest.spyOn(console, "log").mockImplementation(() => {});
|
||||
try {
|
||||
// --8<-- [start:add_progress]
|
||||
// Track ingestion progress as batches are written.
|
||||
await table.add(moreData, {
|
||||
progress: (p) => {
|
||||
const total = p.totalRows ?? "?";
|
||||
console.log(
|
||||
`wrote ${p.outputRows}/${total} rows ` +
|
||||
`(${p.outputBytes} bytes, ${p.elapsedSeconds.toFixed(1)}s, ` +
|
||||
`${p.activeTasks}/${p.totalTasks} tasks active)` +
|
||||
(p.done ? " \u2014 done" : ""),
|
||||
);
|
||||
},
|
||||
});
|
||||
// --8<-- [end:add_progress]
|
||||
expect(log.mock.calls.at(-1)?.[0]).toMatch(/^wrote 2\/2 rows .* — done$/);
|
||||
} finally {
|
||||
log.mockRestore();
|
||||
}
|
||||
expect(await table.countRows()).toBe(3);
|
||||
});
|
||||
});
|
||||
|
||||
test("schema evolution snippets (async)", async () => {
|
||||
await withTempDirectory(async (databaseDir) => {
|
||||
const db = await lancedb.connect(databaseDir);
|
||||
|
||||
@@ -7,7 +7,7 @@ keywords: ["data evolution", "derived columns", "add_columns", "zero copy", "fea
|
||||
---
|
||||
|
||||
import {
|
||||
PySchemaAddSetup as SchemaAddSetup,
|
||||
PySchemaAddSetup,
|
||||
TsSchemaAddSetup as TsSchemaAddSetup,
|
||||
RsSchemaAddSetup as RsSchemaAddSetup,
|
||||
PyAddColumnsCalculated as AddColumnsCalculated,
|
||||
@@ -34,7 +34,7 @@ In SQL this is [`ALTER TABLE ... ADD COLUMN ... AS`](/sql/ddl/table#computed-col
|
||||
|
||||
<CodeGroup>
|
||||
<CodeBlock filename="Python" language="Python" icon="python">
|
||||
{SchemaAddSetup}
|
||||
{PySchemaAddSetup}
|
||||
</CodeBlock>
|
||||
|
||||
<CodeBlock filename="TypeScript" language="TypeScript" icon="square-js">
|
||||
|
||||
@@ -7,7 +7,7 @@ keywords: ["table", "create_table", "open_table", "clone", "rename", "drop"]
|
||||
---
|
||||
|
||||
import {
|
||||
PySchemaAddSetup as SchemaAddSetup,
|
||||
PySchemaAddSetup,
|
||||
TsSchemaAddSetup as TsSchemaAddSetup,
|
||||
RsSchemaAddSetup as RsSchemaAddSetup,
|
||||
PyAddColumnsDefaultValues as AddColumnsDefaultValues,
|
||||
@@ -534,7 +534,7 @@ First, let's create a sample table with product data to demonstrate schema evolu
|
||||
|
||||
<CodeGroup>
|
||||
<CodeBlock filename="Python" language="Python" icon="python">
|
||||
{SchemaAddSetup}
|
||||
{PySchemaAddSetup}
|
||||
</CodeBlock>
|
||||
|
||||
<CodeBlock filename="TypeScript" language="TypeScript" icon="square-js">
|
||||
|
||||
@@ -148,6 +148,8 @@ export const TsAddColumnsNullable = "// Add a nullable timestamp column\nawait s
|
||||
|
||||
export const TsAddFeatureColumnsSql = "await schemaAddTable.addColumns([\n {\n name: \"price_per_id\",\n valueSql: \"cast(price / id as float)\",\n },\n {\n name: \"price_log\",\n valueSql: \"ln(price)\",\n },\n {\n name: \"price_score\",\n valueSql: \"cast(price / (price + 100.0) as float)\",\n },\n]);\n";
|
||||
|
||||
export const TsAddProgress = "// Track ingestion progress as batches are written.\nawait table.add(moreData, {\n progress: (p) => {\n const total = p.totalRows ?? \"?\";\n console.log(\n `wrote ${p.outputRows}/${total} rows ` +\n `(${p.outputBytes} bytes, ${p.elapsedSeconds.toFixed(1)}s, ` +\n `${p.activeTasks}/${p.totalTasks} tasks active)` +\n (p.done ? \" \\u2014 done\" : \"\"),\n );\n },\n});\n";
|
||||
|
||||
export const TsAlterColumnsDataType = "// Change price from int32 to int64 for larger numbers\nawait schemaAlterTable.alterColumns([\n { path: \"price\", dataType: new arrow.Int64() },\n]);\n";
|
||||
|
||||
export const TsAlterColumnsMultiple = "// Rename, change type, and make nullable in one operation\nawait schemaAlterTable.alterColumns([\n {\n path: \"sale_price\",\n rename: \"final_price\",\n dataType: new arrow.Float64(),\n nullable: true,\n },\n]);\n";
|
||||
|
||||
Reference in New Issue
Block a user