3 Commits
Author SHA1 Message Date
Vinod Sridharan 739bdfb1aa Merged PR 1780627: A few API changes & RUM changes for performance
### Does this PR have any customer impact?
Yes

### Type (Feature, Refactoring, Bugfix, DevOps, Testing, Perf, etc)
Features

### Does it involve schema level changes? (Table, Column, Index, UDF, etc level changes)
Yes

### Are you introducing any new config? If yes, do you have tests with and without them being set?
Yes
### ChangeLog (Refer [Template](../oss/CHANGELOG.md))

### Description

1) Port a few more changes into the public documentdb_rum to reduce diff to internal RUM
2) Add more inlining of computation of RumItem from the pages (behind a GUC defaulted on)
3) Add option for bson_build_document and fix bson_get_value_text to not quote strings unnecessarily to be compatible with `::text` casts

----
#### AI description  (iteration 1)
#### PR Classification
This PR implements API updates and performance improvements by introducing a new item pointer decoding mechanism in RUM indexes and extending BSON UDF functionalities.

#### PR Summary
The pull request refactors core RUM index scan routines and enhances BSON API functions to improve performance and API consistency. Key changes include:
- **`oss/internal/pg_documentdb_extended_rum` and `pgmongo_rum`**: Introduced new macros and inline functions (e.g., `decode_varbyte_blocknumber`, `rumDataPageLeafReadWithBlockNumberIncr`) along with the boolean flag `RumUseNewItemPtrDecoding` to optimize item pointer decoding.
- **`rumget.c`, `rumentrypage.c`, and `rumdatapage.c`**: Updated the posting tree scan logic to conditionally apply the new decoding approach, streamlining data page processing.
- **`pg_documentdb_core/sql/udfs/bson_io`**: Added new BSON UDFs (such as `bson_build_document`) and overloads (e.g., a three-argument version of `bson_get_value_text`) to expand API capabilities.
- **`pgbson.c` and `bson_io.c`**: Enhanced BSON logging functions with optional quoting support for JSON conversion, improving logging clarity and consistency.
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
2025-08-25 11:39:17 +08:00
Vinod Sridharan b706079601 Merged PR 1542864: [OSS] Finish up migration of schema from helio_core -> Documentdb_Core
### Does this PR have any customer impact?
No

### Type (Feature, Refactoring, Bugfix, DevOps, Testing, Perf, etc)
Refactor

### Does it involve schema level changes? (Table, Column, Index, UDF, etc level changes)
Yes

### Are you introducing any new config? If yes, do you have tests with and without them being set?
No

### Release Note (Refer [Template](../docs/release_notes/pgmongo_template.md))

### Description
Finish up schema migration for documentdb_core

----
#### AI description  (iteration 1)
#### PR Classification
Code cleanup

#### PR Summary
This pull request finalizes the migration of schema from `helio_core` to `Documentdb_Core`.
- Updated function definitions in `oss/pg_documentdb_core/sql/udfs/bson_io/bson_io--0.11-0.sql` to use `__CORE_SCHEMA__`.
- Updated function definitions in `oss/pg_documentdb_core/sql/udfs/bson_btree/bson_btree--0.19-0.sql` to use `__CORE_SCHEMA__`.
- Updated function definitions in `oss/pg_documentdb_core/sql/udfs/bsonsequence_io/bsonsequence_io--0.10-0.sql` to use `__CORE_SCHEMA__`.
- Removed `set search_path` statements from `oss/pg_documentdb_core/sql/documentdb_core--0.24-0.sql`.
- Updated function definitions in `oss/pg_documentdb_core/sql/udfs/bson_hash/bson_hash_functions--0.15-0.sql` to use `__CORE_SCHEMA__`.
2025-01-15 07:48:40 +00:00
Vinod Sridharan f0722edc50 Merged PR 1542411: [OSS] Start porting Schemas into documentdb_core
### Does this PR have any customer impact?
No

### Type (Feature, Refactoring, Bugfix, DevOps, Testing, Perf, etc)
Refactor

### Does it involve schema level changes? (Table, Column, Index, UDF, etc level changes)
Yes

### Are you introducing any new config? If yes, do you have tests with and without them being set?
No
### Release Note (Refer [Template](../docs/release_notes/pgmongo_template.md))

### Description
Start porting schemas for SQL in documentdb_core.
Maintain back-compat by introducing CORE_SCHEMA_v2 to handle cases where the existing logic already depends on there being 2 core schemas

----
#### AI description  (iteration 1)
#### PR Classification
Code refactoring to port schemas into `documentdb_core`.

#### PR Summary
This pull request refactors the code to port BSON type definitions and related functions into `documentdb_core`.
- `pg_helio_core/sql/types/bson--1.10-0.sql`: Replaced BSON type definitions with an include directive.
- Added `pg_documentdb_core/sql/types/bson--0.24-0.sql` and `pg_documentdb_core/sql/types/bson_typanalyze--0.24-0.sql` for BSON type and analysis functions.
- `pg_documentdb_core/sql/documentdb_core--0.24-0.sql`: Created `documentdb_core` schema and included BSON type definitions.
- Updated Makefiles (`Makefile.cflags`, `pg_helio_api/Makefile`, `pg_helio_core/Makefile`, `internal/pg_helio_distributed/Makefile`) to include new schema definitions.
- Updated `postgresql.conf` files to preload `pg_documentdb_core`.
2025-01-15 07:48:40 +00:00