Skip to content

feat/formula generated column #1694

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 135 commits into
base: develop
Choose a base branch
from
Draft

feat/formula generated column #1694

wants to merge 135 commits into from

Conversation

nichenqin
Copy link
Contributor

@nichenqin nichenqin commented Jul 29, 2025

Formula

  • Common

    • Convert teable formula to pg/sqlite formula
    • Convert unit test
    • Convert e2e test
  • Generated Column Handling on Field Creation

    • Automatically create corresponding database generated column when creating a formula field
    • Handle field dependencies to ensure generated columns are created only when dependencies exist
    • Set correct column metadata and display configuration for newly created generated columns
    • Handle duplicate formula generated columns
    • Update duplicated formula column should update legacy formula record values
    • handle scenarios "generation expression is not immutable"
    • Support create a lookup formula field
  • Handling on Field Deletion

    • Handle formula columns when dependent fields are deleted
    • Handle deletion of any field in multi-level dependencies
  • Generated Column Sync on Field Update

    • Regenerate database column when formula expression is updated
    • Handle deletion and recreation of generated columns when field type changes
    • Cascade update related generated columns when dependency fields change
  • Database Query Optimization

    • Prefer using generated column data during queries instead of real-time computation
    • Ensure data consistency between generated columns and original columns
  • Column Metadata Management

    • Display name and formatting rules for generated columns
    • Filtering support for generated columns in views
    • Sorting support for generated columns in views
    • Group support for generated columns in views
  • Handle event streaming

    • Publish event op with generated column field when update record
    • Publish event op with generated column field when create field
    • Publish event op with generated column field when duplicate field
    • Publish event op with generated column field when delete dependency field
  • Performance Optimization

    • Handle generated columns during batch operations
    • Strategy for creating generated columns in large data tables
  • Field Reference

    • Support reference another link field
    • Support reference another lookup field
    • Support reference another rollup field

Link Field

  • Support select field with junction table or fk
  • Support update link field value
  • Support convert one way to two way link
  • Fix two way to one way link issue
  • Support duplicate link field

Lookup Field

  • Support select lookup field any group to json
  • Support lookup generated formula field
  • Support lookup non generated formula field
  • Support lookup link field
  • Support recursively lookup table

Rollup Field

  • Support rollup field

Query

  • Support filter on virtual fields
  • Test all field filter
  • Support aggregate filter like count
  • Support sort on virtual fields
  • Test all field sort
  • Support group virtual fields
  • Test all field group
  • Support group field aggregate
  • Support field search
  • Fix group on rollup field

@nichenqin nichenqin marked this pull request as draft July 29, 2025 07:58
@nichenqin nichenqin added the preview This issue is already ready for preview label Jul 29, 2025
Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

4 similar comments
Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

@nichenqin nichenqin force-pushed the feat/generated-column branch from 5e365fe to 31521dc Compare July 30, 2025 06:15
@nichenqin nichenqin changed the title feat/generated column feat/formula generated column Jul 30, 2025
Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

1 similar comment
Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

2 similar comments
Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ❌ Failed

@nichenqin nichenqin force-pushed the feat/generated-column branch from d46867e to efcc56c Compare August 1, 2025 06:45
Copy link

github-actions bot commented Aug 1, 2025

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

5 similar comments
Copy link

github-actions bot commented Aug 1, 2025

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

github-actions bot commented Aug 1, 2025

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

github-actions bot commented Aug 1, 2025

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

github-actions bot commented Aug 1, 2025

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

github-actions bot commented Aug 1, 2025

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

@nichenqin nichenqin force-pushed the feat/generated-column branch from 27b5414 to b08b767 Compare August 2, 2025 05:37
Copy link

github-actions bot commented Aug 2, 2025

Deployment Status: ❌ Failed

Copy link

github-actions bot commented Aug 2, 2025

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

4 similar comments
Copy link

github-actions bot commented Aug 2, 2025

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

github-actions bot commented Aug 3, 2025

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

github-actions bot commented Aug 4, 2025

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

github-actions bot commented Aug 4, 2025

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

1 similar comment
Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

1 similar comment
Copy link

Deployment Status: ✅ Success
🔗 Preview URL: https://pr-1694.sealoshzh.site

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
preview This issue is already ready for preview
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant