fix(bq|random): ST_GENERATEPOINTS returning exact name of points #486
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Shortcut
Story: https://app.shortcut.com/cartoteam/story/379986/internal-st-generate-points-generating-generate-array-error-or-oddly-low-number-of-points-generated
Autolink: [sc-379986]
Check possible optimizations of ST GENERATEPOINTS [sc-386473]
This ticket makes ST_GENERATEPOINTS return the exact number of points requested. As mentioned in the doc there was the small chance of returning less points but in some cases the points returned are way less than expected. I've gone for an approach equal to the one already implemented in Snowflake.
I saw that in Snowflake it worked much faster than the previous approach but it has to be with keeping the result as ARRAY(STRING) in this case it was the same. But UNNESTING + parsing to GEOG + ARRAY_AGG make this approach slower than the original approach. So going for this approach or not depends on what we want to prioritize.
I removed the warning in the 3 docs because in other providers we return the exact name of points.
Type of change
Acceptance