ORDER BY operator index scans and filtering

2024-09-28 Thread Andrew Kane
Hi, Currently, index scans that order by an operator (for instance, `location <-> POINT(0, 0)`) and have a filter for the same expression (`location <-> POINT(0, 0) < 2`) can end up scanning much more of the index than is necessary. Here's a complete example: CREATE TABLE stores (location point)

Re: Exporting float_to_shortest_decimal_buf(n) with Postgres 17 on Windows

2024-09-13 Thread Andrew Kane
les changed. Also, neither function is present with `dumpbin /EXPORTS /SYMBOLS lib\postgres.lib`, which led me to believe it may need to be addressed upstream. - Andrew On Fri, Sep 13, 2024 at 2:41 PM Nathan Bossart wrote: > On Fri, Sep 13, 2024 at 04:58:20PM -0400, Tom Lane wrote: > >

Exporting float_to_shortest_decimal_buf(n) with Postgres 17 on Windows

2024-09-13 Thread Andrew Kane
Hi, With Postgres 17 RC1 on Windows, `float_to_shortest_decimal_buf` and `float_to_shortest_decimal_bufn` are not longer exported. This causes `unresolved external symbol` linking errors for extensions that rely on these functions (like pgvector). Can these functions be exported like previous vers

Re: A space-efficient, user-friendly way to store categorical data

2018-02-12 Thread Andrew Kane
;Chicago'); -- query SELECT * FROM users WHERE city = 'Chicago'; I'm not really sure the best place to store this lookup table. - Andrew On Mon, Feb 12, 2018 at 7:11 PM, Mark Dilger wrote: > > > On Feb 12, 2018, at 6:35 PM, Tom Lane wrote: > > > >

Re: A space-efficient, user-friendly way to store categorical data

2018-02-12 Thread Andrew Kane
uot;city") VALUES ('Chicago'); COMMIT; Since enums have a fixed number of labels, this type of feature may be better off as a property you could add to text columns (as Thomas mentions). This would avoid issues with hitting the max number of labels. - Andrew On Mon, Feb 12, 2018 a

A space-efficient, user-friendly way to store categorical data

2018-02-11 Thread Andrew Kane
Hi, I'm hoping to get feedback on an idea for a new data type to allow for efficient storage of text values while keeping reads and writes user-friendly. Suppose you want to store categorical data like current city for users. There will be a long list of cities, and many users will have the same c