Skip to content

Conversation

@catsona
Copy link
Contributor

@catsona catsona commented Sep 23, 2025

No description provided.

@catsona catsona force-pushed the catsona/upgrade_ydb_sdk branch 3 times, most recently from 02ef2a5 to 9f1aeeb Compare September 26, 2025 08:24
@catsona catsona force-pushed the catsona/bi-6586/support_ydb_column_tables branch 2 times, most recently from d7bec93 to 423c9ce Compare September 26, 2025 10:11
@catsona catsona force-pushed the catsona/upgrade_ydb_sdk branch from 234fada to a0f6652 Compare October 10, 2025 09:39
@catsona catsona force-pushed the catsona/upgrade_ydb_sdk branch 3 times, most recently from 4156d76 to 01e92a0 Compare October 28, 2025 13:25
@catsona catsona force-pushed the catsona/upgrade_ydb_sdk branch from 636eec7 to 6d54f1d Compare October 29, 2025 10:14
@catsona catsona force-pushed the catsona/upgrade_ydb_sdk branch 2 times, most recently from 574a010 to 9575ee3 Compare November 25, 2025 15:30
@catsona catsona force-pushed the catsona/upgrade_ydb_sdk branch from 9575ee3 to 333c80c Compare November 26, 2025 11:42
Base automatically changed from catsona/upgrade_ydb_sdk to main November 26, 2025 14:01
@catsona catsona force-pushed the catsona/bi-6586/support_ydb_column_tables branch from 423c9ce to cd9f051 Compare November 27, 2025 12:27
@catsona catsona marked this pull request as ready for review November 27, 2025 16:00
@ovsds ovsds requested a review from Copilot December 10, 2025 08:43
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for YDB column tables to the connector implementation. Column tables are a specific YDB table type optimized for analytical workloads (OLAP).

  • Enables column table features in the YDB Docker environment
  • Adds test infrastructure for column table datasets
  • Updates table discovery to include column tables and views

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
lib/dl_connector_ydb/pyproject.toml Corrects path reference to dl-sqlalchemy-ydb dependency
lib/dl_connector_ydb/docker-compose/Dockerfile.db-ydb Updates base image to official YDB platform image with pinned SHA
lib/dl_connector_ydb/docker-compose.yml Enables column tables and OLAP schema operations via feature flags
lib/dl_connector_ydb/dl_connector_ydb_tests/db/config.py Adds schema definitions and type mappings for column table testing
lib/dl_connector_ydb/dl_connector_ydb_tests/db/api/test_dataset.py Adds test suite for column table dataset functionality
lib/dl_connector_ydb/dl_connector_ydb_tests/db/api/base.py Implements column table test fixture with custom creation logic
lib/dl_connector_ydb/dl_connector_ydb/core/ydb/adapter.py Updates table discovery to include column tables and views

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

]

# Leave only values in COLUMN_TABLE_SCHEMA
COLUMN_TABLE_DATA = [{key: value for key, value in row.items() if key in COLUMN_TABLE_SCHEMA} for row in TABLE_DATA]
Copy link

Copilot AI Dec 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The condition if key in COLUMN_TABLE_SCHEMA checks if the key exists in a tuple of tuples, which will always be False. This should check against the column names extracted from COLUMN_TABLE_SCHEMA. Consider: COLUMN_TABLE_DATA = [{key: value for key, value in row.items() if key in {col[0] for col in COLUMN_TABLE_SCHEMA}} for row in TABLE_DATA]

Suggested change
COLUMN_TABLE_DATA = [{key: value for key, value in row.items() if key in COLUMN_TABLE_SCHEMA} for row in TABLE_DATA]
COLUMN_TABLE_DATA = [{key: value for key, value in row.items() if key in {col[0] for col in COLUMN_TABLE_SCHEMA}} for row in TABLE_DATA]

Copilot uses AI. Check for mistakes.
db.get_current_connection().connection.cursor().execute_scheme(query)

db.create_table(db_table.table)
db.insert_into_table(db_table.table, TABLE_DATA)
Copy link

Copilot AI Dec 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TABLE_DATA contains columns not present in COLUMN_TABLE_SCHEMA (e.g., 'some_bool', 'some_interval'). This will cause insertion to fail. Use COLUMN_TABLE_DATA instead of TABLE_DATA.

Suggested change
db.insert_into_table(db_table.table, TABLE_DATA)
db.insert_into_table(db_table.table, COLUMN_TABLE_DATA)

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants