mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-25 17:23:10 -05:00
Fix notebook table rendering with multiple code cells (#12363)
* create unique query runner for each cell * use cellUri instead of cellId to identify runner * disconnect each query runner connection * remove queryrunners size check
This commit is contained in:
@@ -41,6 +41,7 @@ import { IQueryManagementService } from 'sql/workbench/services/query/common/que
|
||||
import { values } from 'vs/base/common/collections';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { assign } from 'vs/base/common/objects';
|
||||
import { escape } from 'sql/base/common/strings';
|
||||
|
||||
@Component({
|
||||
selector: GridOutputComponent.SELECTOR,
|
||||
@@ -372,7 +373,7 @@ export class DataResourceDataProvider implements IGridDataProvider {
|
||||
}
|
||||
|
||||
public async convertAllData(result: ResultSetSummary): Promise<void> {
|
||||
// Querying 50 rows at a time. Querying large amount of rows will be slow and
|
||||
// Querying 100 rows at a time. Querying large amount of rows will be slow and
|
||||
// affect table rendering since each time the user scrolls, getRowData is called.
|
||||
let numRows = 100;
|
||||
for (let i = 0; i < result.rowCount; i += 100) {
|
||||
|
||||
@@ -778,7 +778,7 @@ suite('Cell Model', function (): void {
|
||||
|
||||
test('Execute returns error status', async function (): Promise<void> {
|
||||
mockKernel.setup(k => k.requiresConnection).returns(() => false);
|
||||
mockKernel.setup(k => k.requestExecute(TypeMoq.It.isAny(), TypeMoq.It.isAny())).returns(() => {
|
||||
mockKernel.setup(k => k.requestExecute(TypeMoq.It.isAny(), TypeMoq.It.isAny(), TypeMoq.It.isAny())).returns(() => {
|
||||
let replyMsg: nb.IExecuteReplyMsg = <nb.IExecuteReplyMsg>{
|
||||
content: <nb.IExecuteReply>{
|
||||
execution_count: 1,
|
||||
@@ -796,7 +796,7 @@ suite('Cell Model', function (): void {
|
||||
|
||||
test('Execute returns abort status', async function (): Promise<void> {
|
||||
mockKernel.setup(k => k.requiresConnection).returns(() => false);
|
||||
mockKernel.setup(k => k.requestExecute(TypeMoq.It.isAny(), TypeMoq.It.isAny())).returns(() => {
|
||||
mockKernel.setup(k => k.requestExecute(TypeMoq.It.isAny(), TypeMoq.It.isAny(), TypeMoq.It.isAny())).returns(() => {
|
||||
let replyMsg: nb.IExecuteReplyMsg = <nb.IExecuteReplyMsg>{
|
||||
content: <nb.IExecuteReply>{
|
||||
execution_count: 1,
|
||||
@@ -815,7 +815,7 @@ suite('Cell Model', function (): void {
|
||||
test('Execute throws exception', async function (): Promise<void> {
|
||||
let testMsg = 'Test message';
|
||||
mockKernel.setup(k => k.requiresConnection).returns(() => false);
|
||||
mockKernel.setup(k => k.requestExecute(TypeMoq.It.isAny(), TypeMoq.It.isAny())).returns(() => {
|
||||
mockKernel.setup(k => k.requestExecute(TypeMoq.It.isAny(), TypeMoq.It.isAny(), TypeMoq.It.isAny())).returns(() => {
|
||||
throw new Error(testMsg);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user