BUG #15600: ts_stat's nentry maxes out at 255

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: mail(at)goessmann(dot)io
Subject: BUG #15600: ts_stat's nentry maxes out at 255
Date: 2019-01-21 15:30:26
Message-ID: 15600-21e38697e469be66@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 15600
Logged by: Christoph Gößmann
Email address: mail(at)goessmann(dot)io
PostgreSQL version: 11.0
Operating system: x86_64-pc-linux-gnu, compiled by gcc (GCC) 6.3.0
Description:

Dear PostgreSQL team,

Today I encountered what I suspect is a bug of the ts_stat function where
nentry maxes out at 255, independent of more occurrences of e.g. the word
'hello'. On
https://www.postgresql.org/docs/11/release-11-1.html#id-1.11.6.5.5 I could
not find any changes that are connected to ts_stat.

Unexpected behaviour:
netry for 'hello' results in 255 despite 'hello' occurs 539 times in the
attached test.

The commands and output are as attached, the schema is attached last.

Many thanks,
Christoph

-----------------------
-----------------------
-----------------------

[cgoemann(at)lo-login-01 district-circuit-matching]$ psql -h $PGHOST -p $PGPORT
-U postgres
psql (11.0)
Type "help" for help.

postgres=# \c legal_201811
You are now connected to database "legal_201811" as user "postgres".
legal_201811=# SELECT * FROM ts_stat('SELECT to_tsvector(''hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello'')');
word | ndoc | nentry
-------+------+--------
hello | 1 | 255
(1 row)

-----------------------
-----------------------
-----------------------

--
-- PostgreSQL database dump
--

-- Dumped from database version 11.0
-- Dumped by pg_dump version 11.0

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET client_min_messages = warning;
SET row_security = off;

SET default_tablespace = '';

SET default_with_oids = false;

--
-- Name: court_cases_circuit; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.court_cases_circuit (
id integer NOT NULL,
case_type smallint NOT NULL,
zip_name text,
file_name text,
raw_xml_string text,
court text,
docket_number text,
lexis_ids text[],
lexis_ids_normalized text[],
previous_lexis_ids text[],
previous_lexis_ids_normalized text[],
jurisdiction text,
full_name text,
name text,
party1 text,
party2 text,
representation text,
counsels text[],
counselors text[],
panel text,
judges text[],
date_decided date,
date_filed date,
date_argued date,
date_revised date,
date_unspecified date,
majority_opinion text,
majority_opinion_citations_types text[],
majority_opinion_lexis_ids text[],
majority_opinion_lexis_ids_normalized text[],
majority_opinion_authorship text,
majority_opinion_authors text[],
majority_opinion_is_percuriam boolean DEFAULT false,
concurring_opinions text[],
concurring_opinions_citations_types text[],
concurring_opinions_lexis_ids text[],
concurring_opinions_lexis_ids_normalized text[],
concurring_opinions_authorships text[],
concurring_opinions_authors text[],
dissenting_opinions text[],
dissenting_opinions_citations_types text[],
dissenting_opinions_lexis_ids text[],
dissenting_opinions_lexis_ids_normalized text[],
dissenting_opinions_authorships text[],
dissenting_opinions_authors text[]
);

ALTER TABLE public.court_cases_circuit OWNER TO postgres;

--
-- Name: court_cases_circuit_id_seq; Type: SEQUENCE; Schema: public; Owner:
postgres
--

CREATE SEQUENCE public.court_cases_circuit_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE public.court_cases_circuit_id_seq OWNER TO postgres;

--
-- Name: court_cases_circuit_id_seq; Type: SEQUENCE OWNED BY; Schema:
public; Owner: postgres
--

ALTER SEQUENCE public.court_cases_circuit_id_seq OWNED BY
public.court_cases_circuit.id;

--
-- Name: court_cases_district; Type: TABLE; Schema: public; Owner:
postgres
--

CREATE TABLE public.court_cases_district (
id integer NOT NULL,
case_type smallint NOT NULL,
zip_name text,
file_name text,
raw_xml_string text,
court text,
docket_number text,
lexis_ids text[],
lexis_ids_normalized text[],
previous_lexis_ids text[],
previous_lexis_ids_normalized text[],
jurisdiction text,
full_name text,
name text,
party1 text,
party2 text,
representation text,
counsels text[],
counselors text[],
panel text,
judges text[],
date_decided date,
date_filed date,
date_argued date,
date_revised date,
date_unspecified date,
majority_opinion text,
majority_opinion_citations_types text[],
majority_opinion_lexis_ids text[],
majority_opinion_lexis_ids_normalized text[],
majority_opinion_authorship text,
majority_opinion_authors text[],
majority_opinion_is_percuriam boolean DEFAULT false,
concurring_opinions text[],
concurring_opinions_citations_types text[],
concurring_opinions_lexis_ids text[],
concurring_opinions_lexis_ids_normalized text[],
concurring_opinions_authorships text[],
concurring_opinions_authors text[],
dissenting_opinions text[],
dissenting_opinions_citations_types text[],
dissenting_opinions_lexis_ids text[],
dissenting_opinions_lexis_ids_normalized text[],
dissenting_opinions_authorships text[],
dissenting_opinions_authors text[],
songername text
);

ALTER TABLE public.court_cases_district OWNER TO postgres;

--
-- Name: court_cases_district_id_seq; Type: SEQUENCE; Schema: public; Owner:
postgres
--

CREATE SEQUENCE public.court_cases_district_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE public.court_cases_district_id_seq OWNER TO postgres;

--
-- Name: court_cases_district_id_seq; Type: SEQUENCE OWNED BY; Schema:
public; Owner: postgres
--

ALTER SEQUENCE public.court_cases_district_id_seq OWNED BY
public.court_cases_district.id;

--
-- Name: results_table; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE public.results_table (
id integer NOT NULL,
results_column_1 text,
results_column_2 text
);

ALTER TABLE public.results_table OWNER TO postgres;

--
-- Name: results_table_id_seq; Type: SEQUENCE; Schema: public; Owner:
postgres
--

CREATE SEQUENCE public.results_table_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE public.results_table_id_seq OWNER TO postgres;

--
-- Name: results_table_id_seq; Type: SEQUENCE OWNED BY; Schema: public;
Owner: postgres
--

ALTER SEQUENCE public.results_table_id_seq OWNED BY
public.results_table.id;

--
-- Name: court_cases_circuit id; Type: DEFAULT; Schema: public; Owner:
postgres
--

ALTER TABLE ONLY public.court_cases_circuit ALTER COLUMN id SET DEFAULT
nextval('public.court_cases_circuit_id_seq'::regclass);

--
-- Name: court_cases_district id; Type: DEFAULT; Schema: public; Owner:
postgres
--

ALTER TABLE ONLY public.court_cases_district ALTER COLUMN id SET DEFAULT
nextval('public.court_cases_district_id_seq'::regclass);

--
-- Name: results_table id; Type: DEFAULT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.results_table ALTER COLUMN id SET DEFAULT
nextval('public.results_table_id_seq'::regclass);

--
-- Name: court_cases_circuit court_cases_circuit_pkey; Type: CONSTRAINT;
Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.court_cases_circuit
ADD CONSTRAINT court_cases_circuit_pkey PRIMARY KEY (id);

--
-- Name: court_cases_district court_cases_district_pkey; Type: CONSTRAINT;
Schema: public; Owner: postgres
--

ALTER TABLE ONLY public.court_cases_district
ADD CONSTRAINT court_cases_district_pkey PRIMARY KEY (id);

--
-- Name: results_table results_table_pkey; Type: CONSTRAINT; Schema: public;
Owner: postgres
--

ALTER TABLE ONLY public.results_table
ADD CONSTRAINT results_table_pkey PRIMARY KEY (id);

--
-- Name: court_cases_circuit_lexis_ids_idx; Type: INDEX; Schema: public;
Owner: postgres
--

CREATE INDEX court_cases_circuit_lexis_ids_idx ON public.court_cases_circuit
USING gin (lexis_ids);

--
-- Name: court_cases_district_lexis_ids_idx; Type: INDEX; Schema: public;
Owner: postgres
--

CREATE INDEX court_cases_district_lexis_ids_idx ON
public.court_cases_district USING gin (lexis_ids);

--
-- Name: court_cases_district_songername_idx; Type: INDEX; Schema: public;
Owner: postgres
--

CREATE INDEX court_cases_district_songername_idx ON
public.court_cases_district USING btree (songername);

--
-- PostgreSQL database dump complete
--

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Alvaro Herrera 2019-01-21 16:29:44 Re: BUG #15587: Partitions with ALTER TABLE ADD CONSTRAINT
Previous Message Andrew Gierth 2019-01-21 12:08:08 Re: BUG #15598: PostgreSQL Error Code is not reported when connection terminated due to idle-in-transaction timeout