MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / comFieldList

Method comFieldList

src/Server/MySQLHandler.cpp:457–473  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

455}
456
457void MySQLHandler::comFieldList(ReadBuffer & payload)
458{
459 ComFieldList packet;
460 packet.readPayloadWithUnpacked(payload);
461 const auto session_context = session->sessionContext();
462 String database = session_context->getCurrentDatabase();
463 StoragePtr table_ptr = DatabaseCatalog::instance().getTable({database, packet.table}, session_context);
464 auto metadata_snapshot = table_ptr->getInMemoryMetadataPtr(session_context, false);
465 for (const NameAndTypePair & column : metadata_snapshot->getColumns().getAll())
466 {
467 ColumnDefinition column_definition(
468 database, packet.table, packet.table, column.name, column.name, CharacterSet::binary, 100, ColumnType::MYSQL_TYPE_STRING, 0, 0, true
469 );
470 packet_endpoint->sendPacket(column_definition);
471 }
472 packet_endpoint->sendPacket(OKPacket(0xfe, client_capabilities, 0, 0, 0));
473}
474
475void MySQLHandler::comPing()
476{

Callers

nothing calls this directly

Calls 9

OKPacketClass · 0.85
sessionContextMethod · 0.80
getCurrentDatabaseMethod · 0.80
sendPacketMethod · 0.80
getTableMethod · 0.45
getAllMethod · 0.45
getColumnsMethod · 0.45

Tested by

no test coverage detected