3 * No.2-1 table definitions.
6 \d dbms_stats.backup_history
8 \d dbms_stats.column_stats_backup
10 \d dbms_stats.column_stats_locked
12 \d dbms_stats.relation_stats_backup
14 \d dbms_stats.relation_stats_locked
17 * No.2-2 view definitions.
20 \dS+ dbms_stats.column_stats_effective
22 \dS+ dbms_stats.relation_stats_effective
26 \dS+ dbms_stats.column_stats_locked
28 \dS+ dbms_stats.relation_stats_locked
31 * No.2-4 dbms_stats.anyarray
34 SELECT n.nspname, t.typname, t.typlen, t.typbyval, t.typtype,
35 t.typcategory, t.typispreferred, t.typisdefined, t.typdelim,
36 t.typrelid, t.typelem, t.typinput, t.typoutput, t.typreceive,
37 t.typsend, t.typmodin, t.typmodout, t.typanalyze, t.typalign,
38 t.typstorage, t.typnotnull, t.typbasetype, t.typtypmod, t.typndims,
39 t.typcollation, t.typdefaultbin, t.typdefault, t.typacl
40 FROM pg_type t, pg_namespace n
41 WHERE t.typnamespace = n.oid
42 AND n.nspname = 'dbms_stats'
43 AND t.typname = 'anyarray';
46 * No.5-1 dbms_stats.merge
48 UPDATE pg_statistic SET
49 stanullfrac = staattnum,
51 stadistinct = staattnum,
62 stanumbers1 = ARRAY[staattnum,4],
63 stanumbers2 = ARRAY[staattnum,1],
64 stanumbers3 = ARRAY[staattnum,2],
65 stanumbers4 = ARRAY[staattnum,3],
66 stanumbers5 = ARRAY[staattnum,5],
67 stavalues2 = array_cat(stavalues1,stavalues1),
68 stavalues3 = array_cat(array_cat(stavalues1,stavalues1),stavalues1),
69 stavalues4 = array_cat(array_cat(array_cat(stavalues1,stavalues1),stavalues1),stavalues1)
70 ,stavalues5 = array_cat(array_cat(array_cat(array_cat(stavalues1,stavalues1),stavalues1),stavalues1),stavalues1)
71 WHERE starelid = 'st0'::regclass;
72 SELECT dbms_stats.lock_table_stats('st0');
73 UPDATE dbms_stats.column_stats_locked SET
75 stanullfrac = -staattnum,
76 stawidth = -staattnum,
77 stadistinct = -staattnum,
88 stanumbers1 = ARRAY[-staattnum,22],
89 stanumbers2 = ARRAY[-staattnum,23],
90 stanumbers3 = ARRAY[-staattnum,24],
91 stanumbers4 = ARRAY[-staattnum,21],
92 stanumbers5 = ARRAY[-staattnum,25],
93 stavalues1 = stavalues3,
94 stavalues2 = stavalues2,
95 stavalues3 = stavalues1,
96 stavalues4 = stavalues4
97 ,stavalues5 = stavalues5
101 * Driver function dbms_stats.merge1
103 CREATE FUNCTION dbms_stats.merge1(
104 lhs dbms_stats.column_stats_locked,
105 rhs pg_catalog.pg_statistic
107 '$libdir/pg_dbms_stats', 'dbms_stats_merge'
110 SELECT * FROM columns_locked_v
111 WHERE starelid = 'st0'::regclass;
112 SELECT * FROM plain_columns_statistic_v
113 WHERE starelid = 'st0'::regclass;
115 SET client_min_messages TO LOG;
118 SELECT (m.merge).starelid::regclass,
120 (m.merge).stainherit,
121 (m.merge).stanullfrac,
123 (m.merge).stadistinct,
134 (m.merge).stanumbers1,
135 (m.merge).stanumbers2,
136 (m.merge).stanumbers3,
137 (m.merge).stanumbers4,
138 (m.merge).stanumbers5,
139 (m.merge).stavalues1,
140 (m.merge).stavalues2,
141 (m.merge).stavalues3,
143 ,(m.merge).stavalues5
144 FROM (SELECT dbms_stats.merge(NULL, s)
146 WHERE starelid = 'st0'::regclass
147 AND staattnum = '1'::int2) m;
150 SELECT (m.merge).starelid::regclass,
152 (m.merge).stainherit,
153 (m.merge).stanullfrac,
155 (m.merge).stadistinct,
166 (m.merge).stanumbers1,
167 (m.merge).stanumbers2,
168 (m.merge).stanumbers3,
169 (m.merge).stanumbers4,
170 (m.merge).stanumbers5,
171 (m.merge).stavalues1,
172 (m.merge).stavalues2,
173 (m.merge).stavalues3,
175 ,(m.merge).stavalues5
176 FROM (SELECT dbms_stats.merge(v, NULL)
177 FROM dbms_stats.column_stats_locked v
178 WHERE starelid = 'st0'::regclass
179 AND staattnum = '2'::int2) m;
182 SELECT dbms_stats.merge(NULL, NULL);
185 SELECT (m.merge).starelid::regclass,
187 (m.merge).stainherit,
188 (m.merge).stanullfrac,
190 (m.merge).stadistinct,
201 (m.merge).stanumbers1,
202 (m.merge).stanumbers2,
203 (m.merge).stanumbers3,
204 (m.merge).stanumbers4,
205 (m.merge).stanumbers5,
206 (m.merge).stavalues1,
207 (m.merge).stavalues2,
208 (m.merge).stavalues3,
210 ,(m.merge).stavalues5
211 FROM (SELECT dbms_stats.merge(v, s)
212 FROM dbms_stats.column_stats_locked v,
214 WHERE v.starelid = 'st0'::regclass
215 AND v.staattnum = '2'::int2
216 AND s.starelid = 'st0'::regclass
217 AND s.staattnum = '1'::int2) m;
220 SELECT (m.merge).starelid::regclass,
222 (m.merge).stainherit,
223 (m.merge).stanullfrac,
225 (m.merge).stadistinct,
236 (m.merge).stanumbers1,
237 (m.merge).stanumbers2,
238 (m.merge).stanumbers3,
239 (m.merge).stanumbers4,
240 (m.merge).stanumbers5,
241 (m.merge).stavalues1,
242 (m.merge).stavalues2,
243 (m.merge).stavalues3,
245 ,(m.merge).stavalues5
246 FROM (SELECT dbms_stats.merge(v, s)
247 FROM dbms_stats.column_stats_locked v,
249 WHERE v.starelid = 'st0'::regclass
250 AND v.staattnum = '2'::int2
251 AND s.starelid = 'st0'::regclass
252 AND s.staattnum = '1'::int2) m;
255 SELECT dbms_stats.merge1(v, s)
256 FROM dbms_stats.column_stats_locked v,
258 WHERE v.starelid = 'st0'::regclass
259 AND v.staattnum = '2'::int2
260 AND s.starelid = 'st0'::regclass
261 AND s.staattnum = '1'::int2;
264 SELECT dbms_stats.merge(NULL, (
265 s.starelid::regclass, s.staattnum, s.stainherit,
266 s.stanullfrac, s.stawidth, s.stadistinct,
267 s.stakind1, s.stakind2, s.stakind3, s.stakind4,
269 s.staop1, s.staop2, s.staop3,
271 NULL, s.stanumbers1, s.stanumbers2, s.stanumbers3, s.stanumbers4,
273 s.stavalues1, s.stavalues2, s.stavalues3, s.stavalues4
277 WHERE s.starelid = 'st0'::regclass
278 AND s.staattnum = '1'::int2;
281 SELECT (m.merge).starelid::regclass,
283 (m.merge).stainherit,
284 (m.merge).stanullfrac,
286 (m.merge).stadistinct,
297 (m.merge).stanumbers1,
298 (m.merge).stanumbers2,
299 (m.merge).stanumbers3,
300 (m.merge).stanumbers4,
301 (m.merge).stanumbers5,
302 (m.merge).stavalues1,
303 (m.merge).stavalues2,
304 (m.merge).stavalues3,
306 ,(m.merge).stavalues5
307 FROM (SELECT dbms_stats.merge(NULL, (
308 s.starelid::regclass, s.staattnum, s.stainherit,
309 s.stanullfrac, s.stawidth, s.stadistinct,
310 s.stakind1, s.stakind2, s.stakind3, s.stakind4,
312 s.staop1, s.staop2, s.staop3, s.staop4,
314 NULL, s.stanumbers2, s.stanumbers3, s.stanumbers4,
316 s.stavalues1, s.stavalues2, s.stavalues3, s.stavalues4
320 WHERE s.starelid = 'st0'::regclass
321 AND s.staattnum = '1'::int2) m;
324 SELECT dbms_stats.merge((
325 v.starelid::regclass, v.staattnum, v.stainherit,
326 v.stanullfrac, v.stawidth, v.stadistinct,
327 v.stakind1, v.stakind2, v.stakind3, v.stakind4,
329 v.staop1, v.staop2, v.staop3,
331 NULL, v.stanumbers1, v.stanumbers2, v.stanumbers3, v.stanumbers4,
333 v.stavalues1, v.stavalues2, v.stavalues3, v.stavalues4
336 FROM dbms_stats.column_stats_locked v
337 WHERE v.starelid = 'st0'::regclass
338 AND v.staattnum = '2'::int2;
341 SELECT (m.merge).starelid::regclass,
343 (m.merge).stainherit,
344 (m.merge).stanullfrac,
346 (m.merge).stadistinct,
357 (m.merge).stanumbers1,
358 (m.merge).stanumbers2,
359 (m.merge).stanumbers3,
360 (m.merge).stanumbers4,
361 (m.merge).stanumbers5,
362 (m.merge).stavalues1,
363 (m.merge).stavalues2,
364 (m.merge).stavalues3,
366 ,(m.merge).stavalues5
367 FROM (SELECT dbms_stats.merge((
368 v.starelid::regclass, v.staattnum, v.stainherit,
369 v.stanullfrac, v.stawidth, v.stadistinct,
370 v.stakind1, v.stakind2, v.stakind3, v.stakind4,
372 v.staop1, v.staop2, v.staop3, v.staop4,
374 NULL, v.stanumbers2, v.stanumbers3, v.stanumbers4,
376 v.stavalues1, v.stavalues2, v.stavalues3, v.stavalues4
379 FROM dbms_stats.column_stats_locked v
380 WHERE v.starelid = 'st0'::regclass
381 AND v.staattnum = '2'::int2) m;
384 SELECT dbms_stats.merge((
385 v.starelid::regclass, v.staattnum, v.stainherit,
386 v.stanullfrac, v.stawidth, v.stadistinct,
387 v.stakind1, v.stakind2, v.stakind3, v.stakind4,
389 v.staop1, v.staop2, v.staop3,
391 NULL, v.stanumbers1, v.stanumbers2, v.stanumbers3, v.stanumbers4,
393 v.stavalues1, v.stavalues2, v.stavalues3, v.stavalues4
396 s.starelid::regclass, s.staattnum, s.stainherit,
397 s.stanullfrac, s.stawidth, s.stadistinct,
398 s.stakind1, s.stakind2, s.stakind3, s.stakind4,
400 s.staop1, s.staop2, s.staop3,
402 NULL, s.stanumbers1, s.stanumbers2, s.stanumbers3, s.stanumbers4,
404 s.stavalues1, s.stavalues2, s.stavalues3, s.stavalues4
407 FROM dbms_stats.column_stats_locked v,
409 WHERE v.starelid = 'st0'::regclass
410 AND v.staattnum = '2'::int2
411 AND s.starelid = 'st0'::regclass
412 AND s.staattnum = '1'::int2;
415 SELECT (m.merge).starelid::regclass,
417 (m.merge).stainherit,
418 (m.merge).stanullfrac,
420 (m.merge).stadistinct,
431 (m.merge).stanumbers1,
432 (m.merge).stanumbers2,
433 (m.merge).stanumbers3,
434 (m.merge).stanumbers4,
435 (m.merge).stanumbers5,
436 (m.merge).stavalues1,
437 (m.merge).stavalues2,
438 (m.merge).stavalues3,
440 ,(m.merge).stavalues5
441 FROM (SELECT dbms_stats.merge((
442 v.starelid::regclass, v.staattnum, v.stainherit,
443 v.stanullfrac, v.stawidth, v.stadistinct,
444 v.stakind1, v.stakind2, v.stakind3, v.stakind4,
446 v.staop1, v.staop2, v.staop3, v.staop4,
448 NULL, v.stanumbers2, v.stanumbers3, v.stanumbers4,
450 v.stavalues1, v.stavalues2, v.stavalues3, v.stavalues4
453 s.starelid::regclass, s.staattnum, s.stainherit,
454 s.stanullfrac, s.stawidth, s.stadistinct,
455 s.stakind1, s.stakind2, s.stakind3, s.stakind4,
457 s.staop1, s.staop2, s.staop3, s.staop4,
459 NULL, s.stanumbers2, s.stanumbers3, s.stanumbers4,
461 s.stavalues1, s.stavalues2, s.stavalues3, s.stavalues4
464 FROM dbms_stats.column_stats_locked v,
466 WHERE v.starelid = 'st0'::regclass
467 AND v.staattnum = '2'::int2
468 AND s.starelid = 'st0'::regclass
469 AND s.staattnum = '1'::int2) m;
472 SELECT (m.merge).starelid::regclass,
474 (m.merge).stainherit,
475 (m.merge).stanullfrac,
477 (m.merge).stadistinct,
488 (m.merge).stanumbers1,
489 (m.merge).stanumbers2,
490 (m.merge).stanumbers3,
491 (m.merge).stanumbers4,
492 (m.merge).stanumbers5,
493 (m.merge).stavalues1,
494 (m.merge).stavalues2,
495 (m.merge).stavalues3,
497 ,(m.merge).stavalues5
498 FROM (SELECT dbms_stats.merge((
501 NULL, NULL, NULL, NULL,
502 NULL, NULL, NULL, NULL,
503 NULL, NULL, NULL, NULL,
504 NULL, NULL, NULL, NULL
505 ,NULL, NULL, NULL, NULL
508 WHERE s.starelid = 'st0'::regclass
509 AND s.staattnum = '1'::int2) m;
512 SELECT (m.merge).starelid::regclass,
514 (m.merge).stainherit,
515 (m.merge).stanullfrac,
517 (m.merge).stadistinct,
528 (m.merge).stanumbers1,
529 (m.merge).stanumbers2,
530 (m.merge).stanumbers3,
531 (m.merge).stanumbers4,
532 (m.merge).stanumbers5,
533 (m.merge).stavalues1,
534 (m.merge).stavalues2,
535 (m.merge).stavalues3,
537 ,(m.merge).stavalues5
538 FROM (SELECT dbms_stats.merge(v, (
541 NULL, NULL, NULL, NULL,
542 NULL, NULL, NULL, NULL,
543 NULL, NULL, NULL, NULL,
544 NULL, NULL, NULL, NULL,
545 NULL, NULL, NULL, NULL))
546 FROM dbms_stats.column_stats_locked v
547 WHERE v.starelid = 'st0'::regclass
548 AND v.staattnum = '2'::int2) m;
551 SELECT (m.merge).starelid::regclass,
553 (m.merge).stainherit,
554 (m.merge).stanullfrac,
556 (m.merge).stadistinct,
567 (m.merge).stanumbers1,
568 (m.merge).stanumbers2,
569 (m.merge).stanumbers3,
570 (m.merge).stanumbers4,
571 (m.merge).stanumbers5,
572 (m.merge).stavalues1,
573 (m.merge).stavalues2,
574 (m.merge).stavalues3,
576 ,(m.merge).stavalues5
577 FROM (SELECT dbms_stats.merge(v, s)
578 FROM dbms_stats.column_stats_locked v,
580 WHERE v.starelid = 'st0'::regclass
581 AND v.staattnum = '2'::int2
582 AND s.starelid = 'st0'::regclass
583 AND s.staattnum = '1'::int2) m;
586 SELECT dbms_stats.merge((
587 v.starelid::regclass, v.staattnum, v.stainherit,
588 v.stanullfrac, v.stawidth, v.stadistinct,
589 NULL, NULL, NULL, NULL,
590 NULL, NULL, NULL, NULL,
591 NULL, NULL, NULL, NULL,
592 NULL, NULL, NULL, NULL
593 ,NULL, NULL, NULL, NULL
595 s.starelid::regclass, s.staattnum, s.stainherit,
596 s.stanullfrac, s.stawidth, s.stadistinct,
597 NULL, NULL, NULL, NULL,
598 NULL, NULL, NULL, NULL,
599 NULL, NULL, NULL, NULL,
600 NULL, NULL, NULL, NULL,
601 NULL, NULL, NULL, NULL))
602 FROM dbms_stats.column_stats_locked v,
604 WHERE v.starelid = 'st0'::regclass
605 AND v.staattnum = '2'::int2
606 AND s.starelid = 'st0'::regclass
607 AND s.staattnum = '1'::int2;
610 SELECT (m.merge).starelid::regclass,
612 (m.merge).stainherit,
613 (m.merge).stanullfrac,
615 (m.merge).stadistinct,
626 (m.merge).stanumbers1,
627 (m.merge).stanumbers2,
628 (m.merge).stanumbers3,
629 (m.merge).stanumbers4,
630 (m.merge).stanumbers5,
631 (m.merge).stavalues1,
632 (m.merge).stavalues2,
633 (m.merge).stavalues3,
635 ,(m.merge).stavalues5
636 FROM (SELECT dbms_stats.merge((
637 v.starelid::regclass, v.staattnum, v.stainherit,
638 v.stanullfrac, v.stawidth, v.stadistinct,
639 v.stakind1, v.stakind2, v.stakind3, v.stakind4,
641 v.staop1, v.staop2, v.staop3,
643 NULL, v.stanumbers1, v.stanumbers2, v.stanumbers3, v.stanumbers4,
645 v.stavalues1, v.stavalues2, v.stavalues3, v.stavalues4
648 s.starelid::regclass, s.staattnum, s.stainherit,
649 s.stanullfrac, s.stawidth, s.stadistinct,
650 s.stakind1, s.stakind2, s.stakind3, s.stakind4,
652 s.staop1, s.staop2, s.staop3, s.staop4,
654 s.stanumbers1, s.stanumbers2, s.stanumbers3, s.stanumbers4,
656 s.stavalues1, s.stavalues2, s.stavalues3, s.stavalues4
659 FROM dbms_stats.column_stats_locked v,
661 WHERE v.starelid = 'st0'::regclass
662 AND v.staattnum = '1'::int2
663 AND s.starelid = 'st0'::regclass
664 AND s.staattnum = '1'::int2) m;
667 SELECT dbms_stats.merge((
668 v.starelid::regclass, v.staattnum, v.stainherit,
669 v.stanullfrac, v.stawidth, v.stadistinct,
670 v.stakind1, v.stakind2, v.stakind3, v.stakind4,
672 v.staop1, v.staop2, v.staop3,
674 NULL, v.stanumbers1, v.stanumbers2, v.stanumbers3, v.stanumbers4,
676 v.stavalues1, v.stavalues2, v.stavalues3, v.stavalues4
679 s.starelid::regclass, s.staattnum, s.stainherit,
680 s.stanullfrac, s.stawidth, s.stadistinct,
681 s.stakind1, s.stakind2, s.stakind3, s.stakind4,
683 s.staop1, s.staop2, s.staop3,
685 NULL, s.stanumbers1, s.stanumbers2, s.stanumbers3, s.stanumbers4,
687 s.stavalues1, s.stavalues2, s.stavalues3, s.stavalues4
690 FROM dbms_stats.column_stats_locked v,
692 WHERE v.starelid = 'st0'::regclass
693 AND v.staattnum = '1'::int2
694 AND s.starelid = 'st0'::regclass
695 AND s.staattnum = '1'::int2;
698 SELECT (m.merge).starelid::regclass,
700 (m.merge).stainherit,
701 (m.merge).stanullfrac,
703 (m.merge).stadistinct,
714 (m.merge).stanumbers1,
715 (m.merge).stanumbers2,
716 (m.merge).stanumbers3,
717 (m.merge).stanumbers4,
718 (m.merge).stanumbers5,
719 (m.merge).stavalues1,
720 (m.merge).stavalues2,
721 (m.merge).stavalues3,
723 ,(m.merge).stavalues5
724 FROM (SELECT dbms_stats.merge((
725 v.starelid::regclass, v.staattnum, v.stainherit,
726 v.stanullfrac, v.stawidth, v.stadistinct,
729 v.staop1, v.staop2, v.staop3, v.staop4,
731 v.stanumbers1, v.stanumbers2, v.stanumbers3, v.stanumbers4,
733 v.stavalues1, v.stavalues2, v.stavalues3, v.stavalues4
736 s.starelid::regclass, s.staattnum, s.stainherit,
737 s.stanullfrac, s.stawidth, s.stadistinct,
740 s.staop1, s.staop2, s.staop3, s.staop4,
742 s.stanumbers1, s.stanumbers2, s.stanumbers3, s.stanumbers4,
744 s.stavalues1, s.stavalues2, s.stavalues3, s.stavalues4
747 FROM dbms_stats.column_stats_locked v,
749 WHERE v.starelid = 'st0'::regclass
750 AND v.staattnum = '2'::int2
751 AND s.starelid = 'st0'::regclass
752 AND s.staattnum = '1'::int2) m;
755 SELECT (m.merge).starelid::regclass,
757 (m.merge).stainherit,
758 (m.merge).stanullfrac,
760 (m.merge).stadistinct,
771 (m.merge).stanumbers1,
772 (m.merge).stanumbers2,
773 (m.merge).stanumbers3,
774 (m.merge).stanumbers4,
775 (m.merge).stanumbers5,
776 (m.merge).stavalues1,
777 (m.merge).stavalues2,
778 (m.merge).stavalues3,
780 ,(m.merge).stavalues5
781 FROM (SELECT dbms_stats.merge((v.starelid::regclass, v.staattnum, v.stainherit,
782 v.stanullfrac, v.stawidth, v.stadistinct,
785 v.staop1, v.staop2, v.staop3, v.staop4,
787 v.stanumbers1, v.stanumbers2, v.stanumbers3, v.stanumbers4,
789 v.stavalues1, v.stavalues2, v.stavalues3, v.stavalues4
792 s.starelid::regclass, s.staattnum, s.stainherit,
793 s.stanullfrac, s.stawidth, s.stadistinct,
796 s.staop1, s.staop2, s.staop3, s.staop4,
798 s.stanumbers1, s.stanumbers2, s.stanumbers3, s.stanumbers4,
800 s.stavalues1, s.stavalues2, s.stavalues3, s.stavalues4
803 FROM dbms_stats.column_stats_locked v,
805 WHERE v.starelid = 'st0'::regclass
806 AND v.staattnum = '2'::int2
807 AND s.starelid = 'st0'::regclass
808 AND s.staattnum = '1'::int2) m;
811 SELECT dbms_stats.merge((v.starelid::regclass, '2', v.stainherit,
812 v.stanullfrac, v.stawidth, v.stadistinct,
815 v.staop1, v.staop2, v.staop3, v.staop4,
817 v.stanumbers1, v.stanumbers2, v.stanumbers3, v.stanumbers4,
819 v.stavalues1, v.stavalues2, v.stavalues3, v.stavalues4
822 s.starelid::regclass, s.staattnum, s.stainherit,
823 s.stanullfrac, s.stawidth, s.stadistinct,
826 s.staop1, s.staop2, s.staop3, s.staop4,
828 s.stanumbers1, s.stanumbers2, s.stanumbers3, s.stanumbers4,
830 s.stavalues1, s.stavalues2, s.stavalues3, s.stavalues4
833 FROM dbms_stats.column_stats_locked v,
835 WHERE v.starelid = 'st0'::regclass
836 AND v.staattnum = '1'::int2
837 AND s.starelid = 'st0'::regclass
838 AND s.staattnum = '1'::int2;
841 SELECT dbms_stats.merge((v.starelid::regclass, '2', v.stainherit,
842 v.stanullfrac, v.stawidth, v.stadistinct,
845 v.staop1, v.staop2, v.staop3, v.staop4,
847 v.stanumbers1, v.stanumbers2, v.stanumbers3, v.stanumbers4,
849 v.stavalues1, v.stavalues2, v.stavalues3, v.stavalues4
852 s.starelid::regclass, s.staattnum, s.stainherit,
853 s.stanullfrac, s.stawidth, s.stadistinct,
856 s.staop1, s.staop2, s.staop3, s.staop4,
858 s.stanumbers1, s.stanumbers2, s.stanumbers3, s.stanumbers4,
860 s.stavalues1, s.stavalues2, s.stavalues3, s.stavalues4
863 FROM dbms_stats.column_stats_locked v,
865 WHERE v.starelid = 'st0'::regclass
866 AND v.staattnum = '1'::int2
867 AND s.starelid = 'st0'::regclass
868 AND s.staattnum = '1'::int2;
869 RESET client_min_messages;
870 SELECT dbms_stats.unlock_database_stats();
873 * No.6-4 dbms_stats.is_target_relkind
876 SELECT dbms_stats.is_target_relkind(k::"char")
877 FROM (VALUES ('r'), ('i'), ('f'), ('m'),
878 ('S'), ('t'), ('v'), ('c')) t(k);
881 * No.7-1 dbms_stats.backup
883 DELETE FROM dbms_stats.backup_history;
884 INSERT INTO dbms_stats.backup_history(id, time, unit) values(1, '2012-01-01', 'd');
886 SELECT dbms_stats.backup(1, 's0.sft0'::regclass, NULL);
887 SELECT count(*) FROM dbms_stats.relation_stats_backup;
888 SELECT count(*) FROM dbms_stats.column_stats_backup;
891 DELETE FROM dbms_stats.relation_stats_backup;
892 SELECT dbms_stats.backup(1, 's0.smv0'::regclass, NULL);
893 SELECT count(*) FROM dbms_stats.relation_stats_backup;
894 SELECT count(*) FROM dbms_stats.column_stats_backup;
897 DELETE FROM dbms_stats.relation_stats_backup;
898 SELECT dbms_stats.backup(1, NULL, 1::int2);
899 SELECT relid::regclass FROM dbms_stats.relation_stats_backup
902 SELECT starelid::regclass, staattnum FROM dbms_stats.column_stats_backup
903 GROUP BY starelid, staattnum
904 ORDER BY starelid, staattnum;
907 DELETE FROM dbms_stats.relation_stats_backup;
908 SELECT dbms_stats.backup(1, NULL::regclass, NULL);
909 SELECT relid::regclass FROM dbms_stats.relation_stats_backup
912 SELECT starelid::regclass, staattnum FROM dbms_stats.column_stats_backup
913 GROUP BY starelid, staattnum
914 ORDER BY starelid, staattnum;
917 DELETE FROM dbms_stats.relation_stats_backup;
918 \! psql contrib_regression -c "SELECT dbms_stats.backup(NULL, 's0.st0'::regclass, NULL)" > results/ut_no2_1_17.out 2>&1
919 SELECT count(*) FROM dbms_stats.relation_stats_backup;
920 SELECT count(*) FROM dbms_stats.column_stats_backup;
923 * No.8-1 dbms_stats.backup
925 SELECT setval('dbms_stats.backup_history_id_seq',1, false);
927 * Stab function dbms_stats.backup
929 ALTER FUNCTION dbms_stats.backup(
933 RENAME TO truth_func_backup;
935 CREATE OR REPLACE FUNCTION dbms_stats.backup(
942 RAISE NOTICE 'arguments are %, %, %', $1, $2, $3;
949 DELETE FROM dbms_stats.backup_history;
950 SELECT dbms_stats.backup('s0.st0'::regclass, 'id', 'dummy comment');
951 SELECT id, unit, comment FROM dbms_stats.backup_history;
954 DELETE FROM dbms_stats.backup_history;
955 SELECT dbms_stats.backup('s0.st0'::regclass, NULL, 'dummy comment');
956 SELECT id, unit, comment FROM dbms_stats.backup_history;
959 DELETE FROM dbms_stats.backup_history;
960 SELECT dbms_stats.backup(NULL::regclass, 'id', 'dummy comment');
961 SELECT id, unit, comment FROM dbms_stats.backup_history;
964 DELETE FROM dbms_stats.backup_history;
965 SELECT dbms_stats.backup(NULL::regclass, NULL, 'dummy comment');
966 SELECT id, unit, comment FROM dbms_stats.backup_history;
969 DELETE FROM dbms_stats.backup_history;
970 SELECT dbms_stats.backup(0, NULL, 'dummy comment');
971 SELECT id, unit, comment FROM dbms_stats.backup_history;
974 DELETE FROM dbms_stats.backup_history;
975 SELECT dbms_stats.backup('s0.st0'::regclass, NULL, 'dummy comment');
976 SELECT id, unit, comment FROM dbms_stats.backup_history;
979 DELETE FROM dbms_stats.backup_history;
980 SELECT dbms_stats.backup(
981 'pg_toast.pg_toast_2618'::regclass,
984 SELECT id, unit, comment FROM dbms_stats.backup_history;
987 DELETE FROM dbms_stats.backup_history;
988 SELECT dbms_stats.backup('s0.st0_idx'::regclass, NULL, 'dummy comment');
989 SELECT id, unit, comment FROM dbms_stats.backup_history;
992 DELETE FROM dbms_stats.backup_history;
993 SELECT dbms_stats.backup('s0.ss0'::regclass, NULL, 'dummy comment');
994 SELECT id, unit, comment FROM dbms_stats.backup_history;
997 DELETE FROM dbms_stats.backup_history;
998 SELECT dbms_stats.backup('s0.sc0'::regclass, NULL, 'dummy comment');
999 SELECT id, unit, comment FROM dbms_stats.backup_history;
1002 DELETE FROM dbms_stats.backup_history;
1003 SELECT dbms_stats.backup('s0.sft0'::regclass, NULL, 'dummy comment');
1004 SELECT id, unit, comment FROM dbms_stats.backup_history;
1007 DELETE FROM dbms_stats.backup_history;
1008 SELECT dbms_stats.backup('s0.smv0'::regclass, NULL, 'dummy comment');
1009 SELECT id, unit, comment FROM dbms_stats.backup_history;
1012 DELETE FROM dbms_stats.backup_history;
1013 SELECT dbms_stats.backup('pg_catalog.pg_class'::regclass, NULL, 'dummy comment');
1014 SELECT id, unit, comment FROM dbms_stats.backup_history;
1017 DELETE FROM dbms_stats.backup_history;
1018 SELECT dbms_stats.backup('s0.st0'::regclass, 'dummy', 'dummy comment');
1019 SELECT id, unit, comment FROM dbms_stats.backup_history;
1022 DELETE FROM dbms_stats.backup_history;
1023 DELETE FROM pg_statistic
1024 WHERE starelid = 's0.st0'::regclass
1025 AND staattnum = 1::int2;
1026 SELECT count(*) FROM dbms_stats.column_stats_effective
1027 WHERE starelid = 's0.st0'::regclass
1028 AND staattnum = 1::int2;
1029 SELECT dbms_stats.backup('s0.st0'::regclass, 'id', 'dummy comment');
1030 SELECT id, unit, comment FROM dbms_stats.backup_history;
1033 * Stab function dbms_stats.backup
1035 ALTER FUNCTION dbms_stats.backup(
1039 RENAME TO truth_func_backup;
1040 CREATE OR REPLACE FUNCTION dbms_stats.backup(
1041 relid regclass DEFAULT NULL,
1042 attname text DEFAULT NULL,
1043 comment text DEFAULT NULL)
1047 IF $3 = '<NULL>' THEN
1048 RAISE NOTICE 'third argument is not NULL but string "<NULL>"';
1050 RAISE NOTICE 'arguments are %, %, %', $1, $2, $3;
1057 * No.8-3 dbms_stats.backup_schema_stats
1059 SELECT setval('dbms_stats.backup_history_id_seq',9, false);
1061 SELECT dbms_stats.backup_schema_stats('s0', 'comment');
1062 SELECT id, unit, comment FROM dbms_stats.backup_history
1066 SELECT dbms_stats.backup_schema_stats('s00', 'comment');
1067 SELECT id, unit, comment FROM dbms_stats.backup_history
1071 SELECT dbms_stats.backup_schema_stats('pg_catalog', 'comment');
1072 SELECT id, unit, comment FROM dbms_stats.backup_history
1077 * Delete stab function dbms_stats.backup
1079 DROP FUNCTION dbms_stats.backup(
1083 ALTER FUNCTION dbms_stats.truth_func_backup(
1088 DROP FUNCTION dbms_stats.backup(
1092 ALTER FUNCTION dbms_stats.truth_func_backup(
1100 * create backup statistics state A
1102 DELETE FROM dbms_stats.backup_history;
1104 INSERT INTO dbms_stats.backup_history(id, time, unit)
1105 VALUES (1, '2012-02-29 23:59:56.999999', 'd');
1107 SELECT setval('dbms_stats.backup_history_id_seq',1);
1108 SELECT dbms_stats.backup();
1109 UPDATE dbms_stats.backup_history
1110 SET time = '2012-02-29 23:59:57'
1112 SELECT dbms_stats.backup('s0.st0');
1113 UPDATE dbms_stats.backup_history
1114 SET time = '2012-02-29 23:59:57.000001'
1116 SELECT dbms_stats.backup();
1117 UPDATE dbms_stats.backup_history
1118 SET time = '2012-02-29 23:59:58'
1120 DELETE FROM dbms_stats.relation_stats_backup
1122 SELECT dbms_stats.backup('s0.st0', 'id');
1123 UPDATE dbms_stats.backup_history
1124 SET time = '2012-03-01 00:00:00'
1126 SELECT dbms_stats.backup('s0.st0');
1127 UPDATE dbms_stats.backup_history
1128 SET time = '2012-03-01 00:00:02'
1130 SELECT dbms_stats.backup('public.st0');
1131 UPDATE dbms_stats.backup_history
1132 SET time = '2012-03-01 00:00:04'
1134 INSERT INTO dbms_stats.backup_history(time, unit)
1135 VALUES ('2012-03-01 00:00:06', 's');
1136 SELECT dbms_stats.backup(8, c.oid, NULL)
1137 FROM pg_catalog.pg_class c,
1138 pg_catalog.pg_namespace n
1139 WHERE n.nspname = 's0'
1140 AND c.relnamespace = n.oid
1141 AND c.relkind IN ('r', 'i');
1143 SELECT * FROM dbms_stats.backup_history
1145 SELECT * FROM relations_backup_v;
1146 SELECT * FROM columns_backup_v;
1151 * No.9-1 dbms_stats.restore
1154 DELETE FROM dbms_stats.relation_stats_locked;
1155 VACUUM dbms_stats.relation_stats_locked; -- in order to avoid auto vacuum
1157 SELECT * FROM internal_locks;
1158 SELECT dbms_stats.restore(2, 's0.st0', NULL);
1159 SELECT * FROM internal_locks;
1161 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1164 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1167 DELETE FROM dbms_stats.relation_stats_locked;
1168 SELECT dbms_stats.restore(2, 'st0', NULL);
1169 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1172 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1175 DELETE FROM dbms_stats.relation_stats_locked;
1176 SELECT dbms_stats.restore(2, 's00.s0', NULL);
1177 SELECT count(*) FROM dbms_stats.column_stats_locked;
1178 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1181 DELETE FROM dbms_stats.relation_stats_locked;
1182 SELECT dbms_stats.restore(NULL, 's0.st0', NULL);
1183 SELECT count(*) FROM dbms_stats.column_stats_locked;
1184 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1187 DELETE FROM dbms_stats.relation_stats_locked;
1188 SELECT dbms_stats.restore(2, 's0.st0', 'id');
1189 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1192 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1195 DELETE FROM dbms_stats.relation_stats_locked;
1196 SELECT dbms_stats.restore(2, NULL, 'id');
1197 SELECT count(*) FROM dbms_stats.column_stats_locked;
1198 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1201 DELETE FROM dbms_stats.relation_stats_locked;
1202 SELECT dbms_stats.restore(2, 's0.st0', NULL);
1203 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1206 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1209 DELETE FROM dbms_stats.relation_stats_locked;
1210 SELECT dbms_stats.restore(2, NULL, NULL);
1211 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1214 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1217 DELETE FROM dbms_stats.relation_stats_locked;
1218 SELECT dbms_stats.restore(0, 's0.st0', NULL);
1219 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1222 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1225 DELETE FROM dbms_stats.relation_stats_locked;
1226 SELECT dbms_stats.restore(2, 0, 'id');
1227 SELECT count(*) FROM dbms_stats.column_stats_locked;
1228 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1231 DELETE FROM dbms_stats.relation_stats_locked;
1232 SELECT dbms_stats.restore(1, 's0.st0', NULL);
1233 SELECT count(*) FROM dbms_stats.column_stats_locked;
1234 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1237 DELETE FROM dbms_stats.relation_stats_locked;
1238 SELECT dbms_stats.restore(2, 's0.st0', 'dummy');
1239 SELECT count(*) FROM dbms_stats.column_stats_locked;
1240 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1243 DELETE FROM dbms_stats.relation_stats_locked;
1244 SELECT dbms_stats.restore(1, 's0.st0', 'id');
1245 SELECT count(*) FROM dbms_stats.column_stats_locked;
1246 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1249 DELETE FROM dbms_stats.relation_stats_locked;
1250 ALTER TABLE s1.st0 DROP COLUMN id;
1251 SELECT dbms_stats.restore(2, 's1.st0', 'id');
1252 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1255 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1258 DELETE FROM dbms_stats.relation_stats_locked;
1259 \set s1_st0_oid `psql contrib_regression -tA -c "SELECT c.oid FROM pg_class c, pg_namespace n WHERE c.relnamespace = n.oid AND n.nspname = 's1' AND c.relname = 'st0';"`
1261 -- SELECT dbms_stats.restore(2, :s1_st0_oid, NULL);
1262 -- To avoid test unstability caused by relation id alloction, the test
1263 -- above is omitted.
1265 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1266 SELECT count(*) FROM dbms_stats.column_stats_locked;
1267 CREATE TABLE s1.st0(id integer, num integer);
1268 INSERT INTO s1.st0 VALUES (1, 15), (2, 25), (3, 35), (4, 45);
1271 DELETE FROM dbms_stats.relation_stats_locked;
1272 SELECT dbms_stats.restore(2, 's0.st0', NULL);
1273 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1276 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1279 DELETE FROM dbms_stats.relation_stats_locked;
1280 INSERT INTO dbms_stats.relation_stats_backup(
1281 id, relid, relname, relpages, reltuples,
1285 'pg_toast.pg_toast_2618'::regclass,
1286 'pg_toast.pg_toast_2618', 1, 1,
1289 SELECT * FROM relations_backup_v
1291 AND relname = 'pg_toast.pg_toast_2618';
1292 SELECT dbms_stats.restore(2, 'pg_toast.pg_toast_2618', NULL);
1293 SELECT count(*) FROM dbms_stats.column_stats_locked;
1294 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1295 DELETE FROM dbms_stats.relation_stats_backup
1297 AND relname = 'pg_toast.pg_toast_2618';
1300 DELETE FROM dbms_stats.relation_stats_locked;
1301 SELECT dbms_stats.restore(2, 's0.st0_idx', NULL);
1302 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1305 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1308 DELETE FROM dbms_stats.relation_stats_locked;
1309 INSERT INTO dbms_stats.relation_stats_backup(
1310 id, relid, relname, relpages, reltuples,
1313 VALUES (2, 's0.ss0'::regclass, 's0.ss0', 1, 1,
1316 SELECT * FROM relations_backup_v
1318 AND relname = 's0.ss0';
1319 SELECT dbms_stats.restore(2, 's0.ss0', NULL);
1320 SELECT count(*) FROM dbms_stats.column_stats_locked;
1321 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1322 DELETE FROM dbms_stats.relation_stats_backup
1324 AND relname = 's0.ss0';
1327 DELETE FROM dbms_stats.relation_stats_locked;
1328 INSERT INTO dbms_stats.relation_stats_backup(
1329 id, relid, relname, relpages, reltuples,
1332 VALUES (2, 's0.sc0'::regclass, 's0.sc0', 1, 1,
1335 SELECT * FROM relations_backup_v
1337 AND relname = 's0.sc0';
1338 SELECT dbms_stats.restore(2, 's0.sc0', NULL);
1339 SELECT count(*) FROM dbms_stats.column_stats_locked;
1340 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1341 DELETE FROM dbms_stats.relation_stats_backup
1343 AND relname = 's0.sc0';
1346 DELETE FROM dbms_stats.relation_stats_locked;
1347 INSERT INTO dbms_stats.relation_stats_backup(
1348 id, relid, relname, relpages, reltuples,
1351 VALUES (3, 's0.sft0'::regclass, 's0.sft0', 1, 1,
1354 SELECT * FROM relations_backup_v
1356 AND relname = 's0.sft0';
1357 SELECT dbms_stats.restore(2, 's0.sft0', NULL);
1358 SELECT count(*) FROM dbms_stats.column_stats_locked;
1359 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1360 DELETE FROM dbms_stats.relation_stats_backup
1362 AND relname = 's0.sft0';
1365 DELETE FROM dbms_stats.relation_stats_locked;
1366 INSERT INTO dbms_stats.relation_stats_backup(
1367 id, relid, relname, relpages, reltuples,
1370 VALUES (3, 's0.smv0'::regclass, 's0.smv0', 1, 1,
1373 SELECT * FROM relations_backup_v
1375 AND relname = 's0.smv0';
1376 SELECT dbms_stats.restore(2, 's0.smv0', NULL);
1377 SELECT count(*) FROM dbms_stats.column_stats_locked;
1378 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1379 DELETE FROM dbms_stats.relation_stats_backup
1381 AND relname = 's0.smv0';
1384 DELETE FROM dbms_stats.relation_stats_locked;
1385 INSERT INTO dbms_stats.relation_stats_backup(
1386 id, relid, relname, relpages, reltuples,
1389 VALUES (2, 'pg_catalog.pg_class'::regclass, 'pg_catalog.pg_class', 1, 1,
1392 SELECT * FROM relations_backup_v
1394 AND relname = 'pg_catalog.pg_class';
1395 SELECT dbms_stats.restore(2, 'pg_catalog.pg_class', NULL);
1396 SELECT count(*) FROM dbms_stats.column_stats_locked;
1397 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1398 DELETE FROM dbms_stats.relation_stats_backup
1400 AND relname = 'pg_catalog.pg_class';
1403 DELETE FROM dbms_stats.relation_stats_locked;
1404 INSERT INTO dbms_stats.relation_stats_locked(relid, relname)
1405 VALUES ('s0.st0'::regclass, 's0.st0');
1406 INSERT INTO dbms_stats.column_stats_locked(starelid, staattnum, stainherit)
1407 SELECT starelid::regclass, staattnum, stainherit
1408 FROM dbms_stats.column_stats_effective
1409 WHERE starelid = 's0.st0'::regclass;
1410 SELECT id, unit, comment FROM dbms_stats.backup_history
1412 SELECT * FROM columns_locked_v;
1413 SELECT * FROM relations_locked_v;
1414 SELECT dbms_stats.restore(2, 's0.st0', NULL);
1415 SELECT * FROM relations_locked_v;
1416 SELECT * FROM columns_locked_v;
1419 DELETE FROM dbms_stats.relation_stats_locked;
1420 SELECT id, unit, comment FROM dbms_stats.backup_history
1422 SELECT dbms_stats.restore(2, 's0.st0', NULL);
1423 SELECT * FROM relations_locked_v;
1424 SELECT * FROM columns_locked_v;
1427 * Stab function dbms_stats.restore
1429 CREATE OR REPLACE FUNCTION dbms_stats.restore(
1431 relid regclass DEFAULT NULL,
1432 attname text DEFAULT NULL)
1433 RETURNS SETOF regclass AS
1436 RAISE NOTICE 'arguments are "%, %, %"', $1, $2, $3;
1438 SELECT c.oid::regclass
1439 FROM pg_class c, dbms_stats.relation_stats_backup b
1440 WHERE (c.oid = $2 OR $2 IS NULL)
1442 AND c.relkind IN ('r', 'i')
1443 AND (b.id <= $1 OR $1 IS NOT NULL)
1445 ORDER BY c.oid::regclass::text;
1451 * No.10-1 dbms_stats.restore_database_stats
1454 SELECT dbms_stats.restore_database_stats('2012-02-29 23:59:57');
1456 SELECT dbms_stats.restore_database_stats('2012-02-29 23:59:57.000002');
1458 SELECT dbms_stats.restore_database_stats('2012-01-01 00:00:00');
1459 --#No.10-1-4 is skipped after lock tests
1460 --#No.10-1-5 is skipped after lock tests
1462 SELECT dbms_stats.restore_database_stats('2012-02-29 23:59:57');
1465 * No.10-2 dbms_stats.restore_schema_stats
1468 SELECT dbms_stats.restore_schema_stats('s0', '2012-02-29 23:59:57');
1470 SELECT dbms_stats.restore_schema_stats('s0', '2012-02-29 23:59:57.000002');
1472 SELECT dbms_stats.restore_schema_stats('s0', '2012-01-01 00:00:00');
1473 --#No.10-2-4 is skipped after lock tests
1474 --#No.10-2-5 is skipped after lock tests
1476 SELECT dbms_stats.restore_schema_stats('s0', '2012-02-29 23:59:57');
1478 SELECT dbms_stats.restore_schema_stats('s0', '2012-02-29 23:59:57');
1479 --#No.10-2-8 is skipped after lock tests
1481 SELECT dbms_stats.restore_schema_stats('s00', '2012-02-29 23:59:57');
1483 SELECT dbms_stats.restore_schema_stats('pg_catalog', '2012-02-29 23:59:57');
1486 * No.10-7 dbms_stats.restore_stats
1489 DELETE FROM dbms_stats.relation_stats_locked;
1490 SELECT dbms_stats.restore_stats(NULL);
1493 DELETE FROM dbms_stats.relation_stats_locked;
1494 SELECT dbms_stats.restore_stats(0);
1497 DELETE FROM dbms_stats.relation_stats_locked;
1498 VACUUM dbms_stats.relation_stats_locked; -- in order to avoid auto vacuum
1500 SELECT * FROM internal_locks;
1501 SELECT dbms_stats.restore_stats(2);
1502 SELECT * FROM internal_locks;
1504 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1507 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1510 DELETE FROM dbms_stats.relation_stats_locked;
1511 INSERT INTO dbms_stats.relation_stats_locked(relid, relname)
1512 SELECT relid::regclass, relname
1513 FROM dbms_stats.relation_stats_effective;
1514 INSERT INTO dbms_stats.column_stats_locked(starelid, staattnum, stainherit)
1515 SELECT starelid::regclass, staattnum, stainherit
1516 FROM dbms_stats.column_stats_effective;
1517 SELECT id, unit, comment FROM dbms_stats.backup_history
1519 SELECT * FROM columns_locked_v;
1520 SELECT * FROM relations_locked_v;
1521 SELECT dbms_stats.restore_stats(8);
1522 SELECT * FROM relations_locked_v;
1523 SELECT * FROM columns_locked_v;
1526 DELETE FROM dbms_stats.relation_stats_locked;
1527 SELECT id, unit, comment FROM dbms_stats.backup_history
1529 SELECT dbms_stats.restore_stats(8);
1530 SELECT * FROM relations_locked_v;
1531 SELECT * FROM columns_locked_v;
1534 * No.11-1 dbms_stats.lock(relid, attname)
1537 DELETE FROM dbms_stats.relation_stats_locked;
1538 SELECT dbms_stats.lock(NULL, NULL);
1540 ALTER FUNCTION dbms_stats.lock(relid regclass)
1541 RENAME TO truth_lock;
1542 CREATE FUNCTION dbms_stats.lock(relid regclass)
1546 RAISE NOTICE 'arguments are %', $1;
1551 DELETE FROM dbms_stats.relation_stats_locked;
1552 SELECT dbms_stats.lock('s0.st0', NULL);
1553 DROP FUNCTION dbms_stats.lock(relid regclass);
1554 ALTER FUNCTION dbms_stats.truth_lock(relid regclass)
1557 DELETE FROM dbms_stats.relation_stats_locked;
1558 SELECT dbms_stats.lock(NULL, 'id');
1560 DELETE FROM dbms_stats.relation_stats_locked;
1561 SELECT dbms_stats.lock('s0.st0', 'id');
1562 SELECT * FROM relations_locked_v;
1563 SELECT * FROM columns_locked_v c;
1565 DELETE FROM dbms_stats.relation_stats_locked;
1566 SELECT dbms_stats.lock(0, 'id');
1568 DELETE FROM dbms_stats.relation_stats_locked;
1569 SELECT dbms_stats.lock('s0.st0', 'id');
1570 SELECT * FROM relations_locked_v;
1571 SELECT * FROM columns_locked_v c;
1573 DELETE FROM dbms_stats.relation_stats_locked;
1574 SELECT dbms_stats.lock('pg_toast.pg_toast_2618', 'id');
1576 DELETE FROM dbms_stats.relation_stats_locked;
1577 SELECT dbms_stats.lock('s0.st0_idx', 'id');
1579 DELETE FROM dbms_stats.relation_stats_locked;
1580 SELECT dbms_stats.lock('st1_exp', 'lower');
1581 SELECT * FROM relations_locked_v;
1582 SELECT * FROM columns_locked_v c;
1583 DELETE FROM dbms_stats.relation_stats_locked;
1586 DELETE FROM dbms_stats.relation_stats_locked;
1587 SELECT dbms_stats.lock('s0.ss0', 'id');
1589 DELETE FROM dbms_stats.relation_stats_locked;
1590 SELECT dbms_stats.lock('s0.sc0', 'id');
1592 DELETE FROM dbms_stats.relation_stats_locked;
1593 SELECT dbms_stats.lock('s0.sft0', 'id');
1594 SELECT * FROM relations_locked_v;
1595 SELECT * FROM columns_locked_v c;
1597 DELETE FROM dbms_stats.relation_stats_locked;
1598 SELECT dbms_stats.lock('s0.smv0', 'id');
1599 SELECT * FROM relations_locked_v;
1600 SELECT * FROM columns_locked_v c;
1602 DELETE FROM dbms_stats.relation_stats_locked;
1603 SELECT dbms_stats.lock('pg_catalog.pg_class', 'id');
1605 DELETE FROM dbms_stats.relation_stats_locked;
1606 SELECT dbms_stats.lock('s0.st0', 'dummy');
1608 DELETE FROM dbms_stats.relation_stats_locked;
1609 DELETE FROM pg_statistic
1610 WHERE starelid = 's0.st0'::regclass;
1611 SELECT dbms_stats.lock('s0.st0', 'id');
1614 DELETE FROM dbms_stats.relation_stats_locked;
1615 INSERT INTO dbms_stats.relation_stats_locked(
1616 relid, relname, relpages, reltuples,
1619 VALUES('s0.st0'::regclass, 's0.st0', 1, 1640,
1622 SELECT dbms_stats.lock_column_stats('s0.st0','id');
1623 UPDATE dbms_stats.column_stats_locked
1624 SET (stanullfrac, stawidth, stadistinct,
1625 stakind1, stakind2, stakind3, stakind4,
1627 staop1, staop2, staop3, staop4,
1629 stanumbers1, stanumbers2, stanumbers3, stanumbers4,
1631 stavalues1, stavalues2, stavalues3, stavalues4
1635 NULL, NULL, NULL, NULL,
1636 NULL, NULL, NULL, NULL,
1637 NULL, NULL, NULL, NULL,
1638 NULL, NULL, NULL, NULL,
1639 NULL, NULL, NULL, NULL)
1640 WHERE starelid = 's0.st0'::regclass;
1641 SELECT dbms_stats.lock('s0.st0', 'id');
1642 SELECT * FROM relations_locked_v;
1643 SELECT * FROM columns_locked_v c;
1645 DELETE FROM dbms_stats.relation_stats_locked;
1646 SELECT dbms_stats.lock('s0.st0', 'id');
1647 SELECT * FROM relations_locked_v
1648 WHERE relid = 's0.st0'::regclass;
1649 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1652 * No.11-2 dbms_stats.lock(relid)
1655 DELETE FROM dbms_stats.relation_stats_locked;
1656 VACUUM dbms_stats.relation_stats_locked; -- in order to avoid auto vacuum
1658 SELECT * FROM internal_locks;
1659 SELECT dbms_stats.lock('s0.st0');
1660 SELECT * FROM relations_locked_v;
1661 SELECT * FROM columns_locked_v c;
1662 SELECT * FROM internal_locks;
1666 DELETE FROM dbms_stats.relation_stats_locked;
1667 SELECT dbms_stats.lock(NULL);
1669 DELETE FROM dbms_stats.relation_stats_locked;
1670 SELECT dbms_stats.lock('0');
1672 DELETE FROM dbms_stats.relation_stats_locked;
1673 SELECT dbms_stats.lock('s0.st0');
1674 SELECT * FROM relations_locked_v;
1675 SELECT * FROM columns_locked_v c;
1677 DELETE FROM dbms_stats.relation_stats_locked;
1678 SELECT dbms_stats.lock('pg_toast.pg_toast_2618');
1680 DELETE FROM dbms_stats.relation_stats_locked;
1681 SELECT dbms_stats.lock('s0.st0_idx');
1682 SELECT * FROM relations_locked_v;
1683 SELECT * FROM columns_locked_v c;
1685 DELETE FROM dbms_stats.relation_stats_locked;
1686 SELECT dbms_stats.lock('s0.ss0');
1688 DELETE FROM dbms_stats.relation_stats_locked;
1689 SELECT dbms_stats.lock('s0.sc0');
1691 DELETE FROM dbms_stats.relation_stats_locked;
1692 SELECT dbms_stats.lock('s0.sft0');
1693 SELECT * FROM relations_locked_v;
1694 SELECT * FROM columns_locked_v c;
1696 DELETE FROM dbms_stats.relation_stats_locked;
1697 SELECT dbms_stats.lock('s0.smv0');
1698 SELECT * FROM relations_locked_v;
1699 SELECT * FROM columns_locked_v c;
1701 DELETE FROM dbms_stats.relation_stats_locked;
1702 SELECT dbms_stats.lock('pg_catalog.pg_class');
1704 DELETE FROM dbms_stats.relation_stats_locked;
1705 SELECT dbms_stats.lock_table_stats('s0.st0');
1706 UPDATE dbms_stats.relation_stats_locked
1707 SET (relpages, reltuples,
1713 WHERE relid = 's0.st0'::regclass;
1714 SELECT dbms_stats.lock('s0.st0');
1715 SELECT * FROM relations_locked_v;
1716 SELECT * FROM columns_locked_v c;
1718 DELETE FROM dbms_stats.relation_stats_locked;
1719 SELECT dbms_stats.lock('s0.st0');
1720 SELECT * FROM relations_locked_v;
1721 SELECT * FROM columns_locked_v c;
1724 * Stab function dbms_stats.lock
1726 ALTER FUNCTION dbms_stats.lock(relid regclass)
1727 RENAME TO truth_lock;
1728 CREATE FUNCTION dbms_stats.lock(relid regclass)
1732 RAISE NOTICE 'arguments are %', $1;
1738 ALTER FUNCTION dbms_stats.lock(relid regclass, attname text)
1739 RENAME TO truth_lock;
1740 CREATE FUNCTION dbms_stats.lock(
1746 RAISE NOTICE 'arguments are %, %', $1, $2;
1753 * No.12-1 dbms_stats.lock_database_stats
1756 SELECT dbms_stats.lock_database_stats();
1759 * No.12-2 dbms_stats.lock_schema_stats
1762 SELECT dbms_stats.lock_schema_stats('s0');
1764 SELECT dbms_stats.lock_schema_stats('s00');
1766 SELECT dbms_stats.lock_schema_stats('pg_catalog');
1769 * No.12-3 dbms_stats.lock_table_stats(regclass)
1772 SELECT dbms_stats.lock_table_stats('s0.st0');
1774 SELECT dbms_stats.lock_table_stats('st0');
1776 SELECT dbms_stats.lock_table_stats('s00.s0');
1779 * No.12-4 dbms_stats.lock_table_stats(schemaname, tablename)
1782 SELECT dbms_stats.lock_table_stats('s0', 'st0');
1785 * No.12-5 dbms_stats.lock_column_stats(regclass, attname)
1788 SELECT dbms_stats.lock_column_stats('s0.st0', 'id');
1790 SELECT dbms_stats.lock_column_stats('st0', 'id');
1792 SELECT dbms_stats.lock_column_stats('s00.s0', 'id');
1795 * No.12-6 dbms_stats.lock_column_stats(schemaname, tablename, int2)
1798 SELECT dbms_stats.lock_column_stats('s0', 'st0', 'id');
1801 * Delete Stab function lock
1803 DROP FUNCTION dbms_stats.lock(relid regclass);
1804 ALTER FUNCTION dbms_stats.truth_lock(relid regclass)
1806 DROP FUNCTION dbms_stats.lock(relid regclass, attname text);
1807 ALTER FUNCTION dbms_stats.truth_lock(relid regclass, attname text)
1811 * No.13-1 dbms_stats.unlock
1814 DELETE FROM dbms_stats.relation_stats_locked;
1815 SELECT dbms_stats.lock_database_stats();
1816 SELECT * FROM dbms_stats.backup_history
1818 SELECT count(*) FROM dbms_stats.relation_stats_backup;
1819 SELECT count(*) FROM dbms_stats.column_stats_backup;
1820 SELECT dbms_stats.unlock();
1821 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1822 SELECT count(*) FROM dbms_stats.column_stats_locked;
1823 SELECT * FROM dbms_stats.backup_history
1825 SELECT count(*) FROM dbms_stats.relation_stats_backup;
1826 SELECT count(*) FROM dbms_stats.column_stats_backup;
1829 DELETE FROM dbms_stats.relation_stats_locked;
1830 SELECT dbms_stats.lock_database_stats();
1831 SELECT dbms_stats.unlock();
1832 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1833 SELECT count(*) FROM dbms_stats.column_stats_locked;
1836 DELETE FROM dbms_stats.relation_stats_locked;
1837 SELECT dbms_stats.lock_database_stats();
1838 DELETE FROM dbms_stats.column_stats_locked;
1839 SELECT dbms_stats.unlock();
1840 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1841 SELECT count(*) FROM dbms_stats.column_stats_locked;
1844 DELETE FROM dbms_stats.relation_stats_locked;
1845 SELECT dbms_stats.unlock();
1846 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1847 SELECT count(*) FROM dbms_stats.column_stats_locked;
1850 DELETE FROM dbms_stats.relation_stats_locked;
1851 SELECT dbms_stats.lock_database_stats();
1852 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1855 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
1858 SELECT dbms_stats.unlock('s0.st0');
1859 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1862 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
1867 DELETE FROM dbms_stats.relation_stats_locked;
1868 SELECT dbms_stats.lock_database_stats();
1869 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1872 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
1875 SELECT dbms_stats.unlock('st0');
1876 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1879 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
1884 DELETE FROM dbms_stats.relation_stats_locked;
1885 SELECT dbms_stats.lock_database_stats();
1886 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1887 SELECT count(*) FROM dbms_stats.column_stats_locked;
1888 SELECT dbms_stats.unlock('s00.s0');
1889 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1890 SELECT count(*) FROM dbms_stats.column_stats_locked;
1893 DELETE FROM dbms_stats.relation_stats_locked;
1894 SELECT dbms_stats.lock_database_stats();
1895 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1898 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1899 SELECT dbms_stats.unlock('s0.st0', 'id');
1900 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1903 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1906 DELETE FROM dbms_stats.relation_stats_locked;
1907 SELECT dbms_stats.lock_database_stats();
1908 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1911 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1912 SELECT dbms_stats.unlock('s0.st0', 'dummy');
1913 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1916 SELECT starelid, attname, stainherit FROM columns_locked_v c;
1919 DELETE FROM dbms_stats.relation_stats_locked;
1920 SELECT dbms_stats.lock_database_stats();
1921 DELETE FROM dbms_stats.column_stats_locked;
1922 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1925 SELECT dbms_stats.unlock('s0.st0', 'id');
1926 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1929 SELECT starelid::regclass, staattnum FROM dbms_stats.column_stats_locked
1930 GROUP BY starelid, staattnum
1931 ORDER BY starelid, staattnum;
1934 DELETE FROM dbms_stats.relation_stats_locked;
1935 SELECT dbms_stats.lock_database_stats();
1936 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1939 SELECT starelid::regclass, staattnum FROM dbms_stats.column_stats_locked
1940 GROUP BY starelid, staattnum
1941 ORDER BY starelid, staattnum;
1942 SELECT dbms_stats.unlock(NULL, 'id');
1943 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1946 SELECT starelid::regclass, staattnum FROM dbms_stats.column_stats_locked
1947 GROUP BY starelid, staattnum
1948 ORDER BY starelid, staattnum;
1951 DELETE FROM dbms_stats.relation_stats_locked;
1952 SELECT dbms_stats.lock_database_stats();
1953 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1956 SELECT starelid::regclass, staattnum FROM dbms_stats.column_stats_locked
1957 GROUP BY starelid, staattnum
1958 ORDER BY starelid, staattnum;
1959 SELECT dbms_stats.unlock('s0.st0', NULL);
1960 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
1963 SELECT starelid::regclass, staattnum FROM dbms_stats.column_stats_locked
1964 GROUP BY starelid, staattnum
1965 ORDER BY starelid, staattnum;
1968 DELETE FROM dbms_stats.relation_stats_locked;
1969 VACUUM dbms_stats.relation_stats_locked; -- in order to avoid auto vacuum
1970 SELECT dbms_stats.lock_database_stats();
1971 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1972 SELECT count(*) FROM dbms_stats.column_stats_locked;
1974 SELECT * FROM internal_locks;
1975 SELECT dbms_stats.unlock();
1976 SELECT * FROM internal_locks;
1978 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1979 SELECT count(*) FROM dbms_stats.column_stats_locked;
1982 * No.14-1 dbms_stats.unlock_database_stats
1985 DELETE FROM dbms_stats.relation_stats_locked;
1986 SELECT dbms_stats.lock_database_stats();
1987 SELECT * FROM dbms_stats.backup_history
1989 SELECT count(*) FROM dbms_stats.relation_stats_backup;
1990 SELECT count(*) FROM dbms_stats.column_stats_backup;
1991 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1992 SELECT count(*) FROM dbms_stats.column_stats_locked;
1993 SELECT dbms_stats.unlock_database_stats();
1994 SELECT count(*) FROM dbms_stats.relation_stats_locked;
1995 SELECT count(*) FROM dbms_stats.column_stats_locked;
1996 SELECT * FROM dbms_stats.backup_history
1998 SELECT count(*) FROM dbms_stats.relation_stats_backup;
1999 SELECT count(*) FROM dbms_stats.column_stats_backup;
2002 DELETE FROM dbms_stats.relation_stats_locked;
2003 SELECT dbms_stats.lock_database_stats();
2004 DELETE FROM dbms_stats.column_stats_locked;
2005 SELECT count(*) FROM dbms_stats.relation_stats_locked;
2006 SELECT dbms_stats.unlock_database_stats();
2007 SELECT count(*) FROM dbms_stats.relation_stats_locked;
2008 SELECT count(*) FROM dbms_stats.column_stats_locked;
2011 DELETE FROM dbms_stats.relation_stats_locked;
2012 SELECT dbms_stats.unlock_database_stats();
2013 SELECT count(*) FROM dbms_stats.relation_stats_locked;
2014 SELECT count(*) FROM dbms_stats.column_stats_locked;
2017 DELETE FROM dbms_stats.relation_stats_locked;
2018 VACUUM dbms_stats.relation_stats_locked; -- in order to avoid auto vacuum
2019 SELECT dbms_stats.lock_database_stats();
2020 SELECT count(*) FROM dbms_stats.relation_stats_locked;
2021 SELECT count(*) FROM dbms_stats.column_stats_locked;
2023 SELECT * FROM internal_locks;
2024 SELECT dbms_stats.unlock_database_stats();
2025 SELECT * FROM internal_locks;
2027 SELECT count(*) FROM dbms_stats.relation_stats_locked;
2028 SELECT count(*) FROM dbms_stats.column_stats_locked;
2031 * No.14-2 dbms_stats.unlock_schema_stats
2034 DELETE FROM dbms_stats.relation_stats_locked;
2035 SELECT dbms_stats.lock_database_stats();
2036 SELECT * FROM dbms_stats.backup_history
2038 SELECT count(*) FROM dbms_stats.relation_stats_backup;
2039 SELECT count(*) FROM dbms_stats.column_stats_backup;
2040 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2043 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2046 SELECT dbms_stats.unlock_schema_stats('s0');
2047 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2050 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2053 SELECT * FROM dbms_stats.backup_history
2055 SELECT count(*) FROM dbms_stats.relation_stats_backup;
2056 SELECT count(*) FROM dbms_stats.column_stats_backup;
2059 DELETE FROM dbms_stats.relation_stats_locked;
2060 SELECT dbms_stats.lock_database_stats();
2061 DELETE FROM dbms_stats.column_stats_locked;
2062 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2065 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2068 SELECT dbms_stats.unlock_schema_stats('s0');
2069 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2072 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2077 DELETE FROM dbms_stats.relation_stats_locked;
2078 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2081 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2084 SELECT dbms_stats.unlock_schema_stats('s0');
2085 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2088 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2093 DELETE FROM dbms_stats.relation_stats_locked;
2094 SELECT dbms_stats.lock_database_stats();
2095 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2098 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2101 SELECT dbms_stats.unlock_schema_stats('s0');
2102 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2105 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2110 DELETE FROM dbms_stats.relation_stats_locked;
2111 SELECT dbms_stats.lock_database_stats();
2112 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2115 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2118 SELECT dbms_stats.unlock_schema_stats('s00');
2119 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2122 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2127 DELETE FROM dbms_stats.relation_stats_locked;
2128 SELECT dbms_stats.lock_database_stats();
2129 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2132 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2135 SELECT dbms_stats.unlock_schema_stats('pg_catalog');
2136 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2139 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2144 DELETE FROM dbms_stats.relation_stats_locked;
2145 SELECT dbms_stats.lock_database_stats();
2146 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2149 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2152 SELECT dbms_stats.unlock_schema_stats(NULL);
2153 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2156 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2161 DELETE FROM dbms_stats.relation_stats_locked;
2162 VACUUM dbms_stats.relation_stats_locked; -- in order to avoid auto vacuum
2163 SELECT dbms_stats.lock_database_stats();
2164 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2167 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2171 SELECT * FROM internal_locks;
2172 SELECT dbms_stats.unlock_schema_stats('s0');
2173 SELECT * FROM internal_locks;
2175 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2178 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2183 * No.14-3 dbms_stats.unlock_table_stats(regclass)
2186 DELETE FROM dbms_stats.relation_stats_locked;
2187 SELECT dbms_stats.lock_database_stats();
2188 SELECT * FROM dbms_stats.backup_history
2190 SELECT count(*) FROM dbms_stats.relation_stats_backup;
2191 SELECT count(*) FROM dbms_stats.column_stats_backup;
2192 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2195 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2198 SELECT dbms_stats.unlock_table_stats('s0.st0');
2199 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2202 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2205 SELECT * FROM dbms_stats.backup_history
2207 SELECT count(*) FROM dbms_stats.relation_stats_backup;
2208 SELECT count(*) FROM dbms_stats.column_stats_backup;
2211 DELETE FROM dbms_stats.relation_stats_locked;
2212 SELECT dbms_stats.lock_database_stats();
2213 DELETE FROM dbms_stats.column_stats_locked;
2214 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2217 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2220 SELECT dbms_stats.unlock_table_stats('s0.st0');
2221 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2224 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2229 DELETE FROM dbms_stats.relation_stats_locked;
2230 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2233 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2236 SELECT dbms_stats.unlock_table_stats('s0.st0');
2237 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2240 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2245 DELETE FROM dbms_stats.relation_stats_locked;
2246 SELECT dbms_stats.lock_database_stats();
2247 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2250 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2253 SELECT dbms_stats.unlock_table_stats('s0.st0');
2254 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2257 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2262 DELETE FROM dbms_stats.relation_stats_locked;
2263 SELECT dbms_stats.lock_database_stats();
2264 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2267 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2270 SELECT dbms_stats.unlock_table_stats('st0');
2271 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2274 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2279 DELETE FROM dbms_stats.relation_stats_locked;
2280 SELECT dbms_stats.lock_database_stats();
2281 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2284 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2287 SELECT dbms_stats.unlock_table_stats('s00.s0');
2288 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2291 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2296 DELETE FROM dbms_stats.relation_stats_locked;
2297 SELECT dbms_stats.lock_database_stats();
2298 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2301 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2304 SELECT dbms_stats.unlock_table_stats(NULL);
2305 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2308 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2313 DELETE FROM dbms_stats.relation_stats_locked;
2314 VACUUM dbms_stats.relation_stats_locked; -- in order to avoid auto vacuum
2315 SELECT dbms_stats.lock_database_stats();
2316 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2319 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2323 SELECT * FROM internal_locks;
2324 SELECT dbms_stats.unlock_table_stats('s0.st0');
2325 SELECT * FROM internal_locks;
2327 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2330 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2335 * No.14-4 dbms_stats.unlock_table_stats(schemaname, tablename)
2338 DELETE FROM dbms_stats.relation_stats_locked;
2339 SELECT dbms_stats.lock_database_stats();
2340 SELECT * FROM dbms_stats.backup_history
2342 SELECT count(*) FROM dbms_stats.relation_stats_backup;
2343 SELECT count(*) FROM dbms_stats.column_stats_backup;
2344 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2347 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2350 SELECT dbms_stats.unlock_table_stats('s0','st0');
2351 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2354 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2357 SELECT * FROM dbms_stats.backup_history
2359 SELECT count(*) FROM dbms_stats.relation_stats_backup;
2360 SELECT count(*) FROM dbms_stats.column_stats_backup;
2363 DELETE FROM dbms_stats.relation_stats_locked;
2364 SELECT dbms_stats.lock_database_stats();
2365 DELETE FROM dbms_stats.column_stats_locked;
2366 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2369 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2372 SELECT dbms_stats.unlock_table_stats('s0', 'st0');
2373 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2376 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2381 DELETE FROM dbms_stats.relation_stats_locked;
2382 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2385 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2388 SELECT dbms_stats.unlock_table_stats('s0', 'st0');
2389 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2392 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2397 DELETE FROM dbms_stats.relation_stats_locked;
2398 SELECT dbms_stats.lock_database_stats();
2399 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2402 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2405 SELECT dbms_stats.unlock_table_stats('s0', 'st0');
2406 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2409 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2414 DELETE FROM dbms_stats.relation_stats_locked;
2415 SELECT dbms_stats.lock_database_stats();
2416 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2419 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2422 SELECT dbms_stats.unlock_table_stats('s00', 's0');
2423 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2426 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2431 DELETE FROM dbms_stats.relation_stats_locked;
2432 SELECT dbms_stats.lock_database_stats();
2433 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2436 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2439 SELECT dbms_stats.unlock_table_stats(NULL, 'st0');
2440 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2443 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2448 DELETE FROM dbms_stats.relation_stats_locked;
2449 SELECT dbms_stats.lock_database_stats();
2450 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2453 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2456 SELECT dbms_stats.unlock_table_stats('s0', NULL);
2457 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2460 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2465 DELETE FROM dbms_stats.relation_stats_locked;
2466 VACUUM dbms_stats.relation_stats_locked; -- in order to avoid auto vacuum
2467 SELECT dbms_stats.lock_database_stats();
2468 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2471 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2475 SELECT * FROM internal_locks;
2476 SELECT dbms_stats.unlock_table_stats('s0', 'st0');
2477 SELECT * FROM internal_locks;
2479 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2482 SELECT starelid::regclass, count(*) FROM dbms_stats.column_stats_locked
2487 * No.14-5 dbms_stats.unlock_column_stats(regclass, attname)
2490 DELETE FROM dbms_stats.relation_stats_locked;
2491 SELECT dbms_stats.lock_database_stats();
2492 SELECT * FROM dbms_stats.backup_history
2494 SELECT count(*) FROM dbms_stats.relation_stats_backup;
2495 SELECT count(*) FROM dbms_stats.column_stats_backup;
2496 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2499 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2500 SELECT dbms_stats.unlock_column_stats('s0.st0', 'id');
2501 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2502 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2505 SELECT * FROM dbms_stats.backup_history
2507 SELECT count(*) FROM dbms_stats.relation_stats_backup;
2508 SELECT count(*) FROM dbms_stats.column_stats_backup;
2511 DELETE FROM dbms_stats.relation_stats_locked;
2512 SELECT dbms_stats.lock_database_stats();
2513 DELETE FROM dbms_stats.column_stats_locked;
2514 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2517 SELECT dbms_stats.unlock_column_stats('s0.st0', 'id');
2518 SELECT count(*) FROM dbms_stats.column_stats_locked;
2519 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2524 DELETE FROM dbms_stats.relation_stats_locked;
2525 SELECT dbms_stats.lock_database_stats();
2526 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2529 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2530 SELECT dbms_stats.unlock_column_stats('s0.st0', 'id');
2531 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2532 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2537 DELETE FROM dbms_stats.relation_stats_locked;
2538 SELECT dbms_stats.lock_database_stats();
2539 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2542 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2543 SELECT dbms_stats.unlock_column_stats('st0', 'id');
2544 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2545 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2550 DELETE FROM dbms_stats.relation_stats_locked;
2551 SELECT dbms_stats.lock_database_stats();
2552 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2555 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2556 SELECT dbms_stats.unlock_column_stats('s0.st0', 'dummy');
2557 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2558 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2563 DELETE FROM dbms_stats.relation_stats_locked;
2564 SELECT dbms_stats.lock_database_stats();
2565 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2568 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2569 SELECT dbms_stats.unlock_column_stats('s00.s0', 'id');
2570 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2571 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2576 DELETE FROM dbms_stats.relation_stats_locked;
2577 SELECT dbms_stats.lock_database_stats();
2578 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2581 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2582 SELECT dbms_stats.unlock_column_stats(NULL, 'id');
2583 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2584 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2589 DELETE FROM dbms_stats.relation_stats_locked;
2590 SELECT dbms_stats.lock_database_stats();
2591 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2594 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2595 SELECT dbms_stats.unlock_column_stats('s0.st0', NULL);
2596 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2597 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2602 DELETE FROM dbms_stats.relation_stats_locked;
2603 VACUUM dbms_stats.relation_stats_locked; -- in order to avoid auto vacuum
2604 SELECT dbms_stats.lock_database_stats();
2605 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2608 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2610 SELECT * FROM internal_locks;
2611 SELECT dbms_stats.unlock_column_stats('s0.st0', 'id');
2612 SELECT * FROM internal_locks;
2614 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2615 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2620 * No.14-6 dbms_stats.unlock_column_stats(schemaname, tablename, attname)
2623 DELETE FROM dbms_stats.relation_stats_locked;
2624 SELECT dbms_stats.lock_database_stats();
2625 SELECT * FROM dbms_stats.backup_history
2627 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2630 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2631 SELECT dbms_stats.unlock_column_stats('s0', 'st0', 'id');
2632 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2633 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2636 SELECT * FROM dbms_stats.backup_history
2638 SELECT count(*) FROM dbms_stats.relation_stats_backup;
2639 SELECT count(*) FROM dbms_stats.column_stats_backup;
2642 DELETE FROM dbms_stats.relation_stats_locked;
2643 SELECT dbms_stats.lock_database_stats();
2644 DELETE FROM dbms_stats.column_stats_locked;
2645 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2648 SELECT dbms_stats.unlock_column_stats('s0', 'st0', 'id');
2649 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2650 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2655 DELETE FROM dbms_stats.relation_stats_locked;
2656 SELECT dbms_stats.lock_database_stats();
2657 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2660 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2661 SELECT dbms_stats.unlock_column_stats('s0', 'st0', 'id');
2662 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2663 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2668 DELETE FROM dbms_stats.relation_stats_locked;
2669 SELECT dbms_stats.lock_database_stats();
2670 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2673 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2674 SELECT dbms_stats.unlock_column_stats('s0', 'st0', 'dummy');
2675 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2676 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2681 DELETE FROM dbms_stats.relation_stats_locked;
2682 SELECT dbms_stats.lock_database_stats();
2683 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2686 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2687 SELECT dbms_stats.unlock_column_stats(NULL, 'st0', 'id');
2688 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2689 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2694 DELETE FROM dbms_stats.relation_stats_locked;
2695 SELECT dbms_stats.lock_database_stats();
2696 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2699 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2700 SELECT dbms_stats.unlock_column_stats('s0', NULL, 'id');
2701 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2702 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2707 DELETE FROM dbms_stats.relation_stats_locked;
2708 SELECT dbms_stats.lock_database_stats();
2709 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2712 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2713 SELECT dbms_stats.unlock_column_stats('s0', 'st0', NULL);
2714 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2715 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2720 DELETE FROM dbms_stats.relation_stats_locked;
2721 VACUUM dbms_stats.relation_stats_locked; -- in order to avoid auto vacuum
2722 SELECT dbms_stats.lock_database_stats();
2723 SELECT relid::regclass FROM dbms_stats.relation_stats_locked
2726 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2728 SELECT * FROM internal_locks;
2729 SELECT dbms_stats.unlock_column_stats('s0', 'st0', 'id');
2730 SELECT * FROM internal_locks;
2732 SELECT starelid, attname, stainherit FROM columns_locked_v c;
2733 SELECT relid::regclass FROM dbms_stats.relation_stats_locked