@@ -470,3 +470,178 @@ set @a=vec_fromtext('[94.542572,8.735560,60.050098,74.043800,90.068710,28.212160
470
470
select vec_distance_cosine(@a, @a), vec_distance_euclidean(@a, @a);
471
471
vec_distance_cosine(@a, @a) vec_distance_euclidean(@a, @a)
472
472
0 0
473
+ # Test ALTER TABLE, CREATE/DROP INDEX
474
+ create table t1 (id int auto_increment primary key, v blob not null, vector index (v));
475
+ insert t1 (v) values (x'e360d63ebe554f3fcdbc523f4522193f5236083d'),
476
+ (x'f511303f72224a3fdd05fe3eb22a133ffae86a3f'),
477
+ (x'f09baa3ea172763f123def3e0c7fe53e288bf33e'),
478
+ (x'b97a523f2a193e3eb4f62e3f2d23583e9dd60d3f'),
479
+ (x'f7c5df3e984b2b3e65e59d3d7376db3eac63773e'),
480
+ (x'de01453ffa486d3f10aa4d3fdd66813c71cb163f'),
481
+ (x'76edfc3e4b57243f10f8423fb158713f020bda3e'),
482
+ (x'56926c3fdf098d3e2c8c5e3d1ad4953daa9d0b3e'),
483
+ (x'7b713f3e5258323f80d1113d673b2b3f66e3583f'),
484
+ (x'6ca1d43e9df91b3fe580da3e1c247d3f147cf33e');
485
+ # ADD/DROP COLUMN, ALGORITHM=COPY
486
+ alter table t1 add column a int, algorithm=copy;
487
+ db.opt
488
+ t1#i#01.ibd
489
+ t1.frm
490
+ t1.ibd
491
+ show create table t1;
492
+ Table Create Table
493
+ t1 CREATE TABLE `t1` (
494
+ `id` int(11) NOT NULL AUTO_INCREMENT,
495
+ `v` blob NOT NULL,
496
+ `a` int(11) DEFAULT NULL,
497
+ PRIMARY KEY (`id`),
498
+ VECTOR KEY `v` (`v`)
499
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
500
+ alter table t1 drop column a, algorithm=copy;
501
+ db.opt
502
+ t1#i#01.ibd
503
+ t1.frm
504
+ t1.ibd
505
+ show create table t1;
506
+ Table Create Table
507
+ t1 CREATE TABLE `t1` (
508
+ `id` int(11) NOT NULL AUTO_INCREMENT,
509
+ `v` blob NOT NULL,
510
+ PRIMARY KEY (`id`),
511
+ VECTOR KEY `v` (`v`)
512
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
513
+ # ADD/DROP INDEX, ALGORITHM=COPY (non-vector)
514
+ alter table t1 add index a(id), algorithm=copy;
515
+ db.opt
516
+ t1#i#02.ibd
517
+ t1.frm
518
+ t1.ibd
519
+ show create table t1;
520
+ Table Create Table
521
+ t1 CREATE TABLE `t1` (
522
+ `id` int(11) NOT NULL AUTO_INCREMENT,
523
+ `v` blob NOT NULL,
524
+ PRIMARY KEY (`id`),
525
+ KEY `a` (`id`),
526
+ VECTOR KEY `v` (`v`)
527
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
528
+ alter table t1 drop index a, algorithm=copy;
529
+ db.opt
530
+ t1#i#01.ibd
531
+ t1.frm
532
+ t1.ibd
533
+ show create table t1;
534
+ Table Create Table
535
+ t1 CREATE TABLE `t1` (
536
+ `id` int(11) NOT NULL AUTO_INCREMENT,
537
+ `v` blob NOT NULL,
538
+ PRIMARY KEY (`id`),
539
+ VECTOR KEY `v` (`v`)
540
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
541
+ # CREATE/DROP INDEX, ALGORITHM=COPY (non-vector)
542
+ create index a on t1(id) algorithm=copy;
543
+ db.opt
544
+ t1#i#02.ibd
545
+ t1.frm
546
+ t1.ibd
547
+ show create table t1;
548
+ Table Create Table
549
+ t1 CREATE TABLE `t1` (
550
+ `id` int(11) NOT NULL AUTO_INCREMENT,
551
+ `v` blob NOT NULL,
552
+ PRIMARY KEY (`id`),
553
+ KEY `a` (`id`),
554
+ VECTOR KEY `v` (`v`)
555
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
556
+ alter table t1 drop index a, algorithm=copy;
557
+ db.opt
558
+ t1#i#01.ibd
559
+ t1.frm
560
+ t1.ibd
561
+ show create table t1;
562
+ Table Create Table
563
+ t1 CREATE TABLE `t1` (
564
+ `id` int(11) NOT NULL AUTO_INCREMENT,
565
+ `v` blob NOT NULL,
566
+ PRIMARY KEY (`id`),
567
+ VECTOR KEY `v` (`v`)
568
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
569
+ # ADD/DROP COLUMN IF [NOT] EXISTS, ALGORITHM=COPY (non-vector)
570
+ alter table t1 add column if not exists a int, algorithm=copy;
571
+ db.opt
572
+ t1#i#01.ibd
573
+ t1.frm
574
+ t1.ibd
575
+ show create table t1;
576
+ Table Create Table
577
+ t1 CREATE TABLE `t1` (
578
+ `id` int(11) NOT NULL AUTO_INCREMENT,
579
+ `v` blob NOT NULL,
580
+ `a` int(11) DEFAULT NULL,
581
+ PRIMARY KEY (`id`),
582
+ VECTOR KEY `v` (`v`)
583
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
584
+ alter table t1 drop column if exists a, algorithm=copy;
585
+ db.opt
586
+ t1#i#01.ibd
587
+ t1.frm
588
+ t1.ibd
589
+ show create table t1;
590
+ Table Create Table
591
+ t1 CREATE TABLE `t1` (
592
+ `id` int(11) NOT NULL AUTO_INCREMENT,
593
+ `v` blob NOT NULL,
594
+ PRIMARY KEY (`id`),
595
+ VECTOR KEY `v` (`v`)
596
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
597
+ # ADD/DROP INDEX, ALGORITHM=COPY (vector)
598
+ alter table t1 drop index v, algorithm=copy;
599
+ db.opt
600
+ t1.frm
601
+ t1.ibd
602
+ show create table t1;
603
+ Table Create Table
604
+ t1 CREATE TABLE `t1` (
605
+ `id` int(11) NOT NULL AUTO_INCREMENT,
606
+ `v` blob NOT NULL,
607
+ PRIMARY KEY (`id`)
608
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
609
+ alter table t1 add vector index v(v), algorithm=copy;
610
+ db.opt
611
+ t1#i#01.ibd
612
+ t1.frm
613
+ t1.ibd
614
+ show create table t1;
615
+ Table Create Table
616
+ t1 CREATE TABLE `t1` (
617
+ `id` int(11) NOT NULL AUTO_INCREMENT,
618
+ `v` blob NOT NULL,
619
+ PRIMARY KEY (`id`),
620
+ VECTOR KEY `v` (`v`)
621
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
622
+ # CREATE/DROP INDEX, ALGORITHM=COPY (vector)
623
+ alter table t1 drop index v, algorithm=copy;
624
+ db.opt
625
+ t1.frm
626
+ t1.ibd
627
+ show create table t1;
628
+ Table Create Table
629
+ t1 CREATE TABLE `t1` (
630
+ `id` int(11) NOT NULL AUTO_INCREMENT,
631
+ `v` blob NOT NULL,
632
+ PRIMARY KEY (`id`)
633
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
634
+ create vector index v on t1(v) algorithm=copy;
635
+ db.opt
636
+ t1#i#01.ibd
637
+ t1.frm
638
+ t1.ibd
639
+ show create table t1;
640
+ Table Create Table
641
+ t1 CREATE TABLE `t1` (
642
+ `id` int(11) NOT NULL AUTO_INCREMENT,
643
+ `v` blob NOT NULL,
644
+ PRIMARY KEY (`id`),
645
+ VECTOR KEY `v` (`v`)
646
+ ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
647
+ drop table t1;
0 commit comments