* Start migration for replicated schema
* ATTACH/DETACH
* Make table engines lazy
* Validate how many replicas in cluster
* use settings object
* Add tests for the new async migration
* Make zookeeper path in tests unique
Otherwise we're consistently running into errors around the zookeeper
path being reused as zookeeper isn't cleaned up on DELETE
* Verify table counts
* Stop materialized columns while migrating
* Validate more preconditions for replicated schema migration
* Snapshot tests for schema
* Add a is_required test
* Mock uuid generation in test_schema.py
* Update test_migrations_not_required
* Improve comment around constraints
* Update snapshot tests
* Make running tests more reliable
* Add a comment
* Make use of precheck
* Add TEST check for precheck, as per discussion
* Update import
* describe point in time markers
* only have one way of triggering mouseover popups in the one component
* describe the new popup prop
* add first contentful paint marker content
* if it's width call it width
* move max width for performance page pop-ups to css
* return null instead of empty react fragment
* Remove ee/conftest
This was duplicated during yeetcode, causing issues when refactoring it
* Remove test-specific setup code
* Share conftests better
- Make sure we send properties to the request
- Massively limit the amount of data we fetch to avoid timeouts (exporting 10k events goes from 20 seconds to 1 second)
- Add ?limit params so people can fetch more data at once with the api
- Explain to users in frontend that we only export 10k lines
* update column optimizer and person property pushdowns to use property groups
* remove dict changes for now
* ensure running one file doesnt delete other snapshots
* one more snapshot
* wip: address comments
* wip - use outer prop groups everywhere with exclude mode
* don't touch correlation props in this PR
* save breakdown file
* add default optimizer instance
* select inner fields on person query that will be used for outer filtering to avoid subqueries
* fix confusing logic
* restore cohort logic
* change condition
* remove all but one instance of exclude and clean up
* rename direct properties mode
* clean up, and add test for funnel event query as well
* fix tests. ugly test-order dependency
* remove exclude
* restore
* trigger tests
Co-authored-by: eric <eeoneric@gmail.com>
* or filtering ui
* fixes
* address comments
* hold off from functionality implementation
* rename things
* undo remove typing
* values not groups
* fixed the wrong thing
* fix
* Refactor table engine logic
This brings us closer to having production and local schemas in sync
* Raise an error if running async migration but events table is distributed
* Use django.conf settings
* Remove unneeded debug code
* Make EVENTS_TABLE_MV_SQL lazy
* Make events data table name dynamic
* Make event inserts, mv table lazy
* Refactor table engines code (again)
* Schema for writable_events and events distributed tables
* Session recordings sharding support in schema
* test_schema cleanup
* fixup session recordings schema
* Fix CLICKHOUSE_REPLICATED migrations
* Skip ch migration 0016 on CLICKHOUSE_REPLICATED
* Search the right db
* Do operations in right order for session recording events
* CREATE DATABASE before the first migration
* Add parens
* track when a plugin drops an event so we don't ingest it
* Update plugin-server/src/main/ingestion-queues/ingest-event.ts
Co-authored-by: Tiina Turban <tiina303@gmail.com>
Co-authored-by: Tiina Turban <tiina303@gmail.com>
* include a link to coding conventions, change some other words
* Replace "Follow" with "Stay up-to-date-with"
Co-authored-by: Michael Matloka <dev@twixes.com>
* split files up
* clean up various experiment states
* return secondary results with results
* fix funnel add step, remove required marks, display metrics results properly
* linting
* secondary metrics when no results yet
* fix yucky loading in between experiment states
* typescript fix
* undo backend changes
* load secondary metrics one at a time and spinner
* prettier and fix test
* fix backend test
* linting
* fix spinner
Co-authored-by: Neil Kakkar <neilkakkar@gmail.com>
Currently this would throw on a fresh install with an error similar to
```
│ posthog-events Migration would get applied: 0024_materialize_window_and_session_id │
│ posthog-events Traceback (most recent call last): │
│ posthog-events File "manage.py", line 21, in <module> │
│ posthog-events main() │
│ posthog-events File "manage.py", line 17, in main │
│ posthog-events execute_from_command_line(sys.argv) │
│ posthog-events File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", li │
│ posthog-events utility.execute() │
│ posthog-events File "/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py", li │
│ posthog-events self.fetch_command(subcommand).run_from_argv(self.argv) │
│ posthog-events File "/usr/local/lib/python3.8/site-packages/django/core/management/base.py", line 3 │
│ posthog-events self.execute(*args, **cmd_options) │
│ posthog-events File "/usr/local/lib/python3.8/site-packages/django/core/management/base.py", line 3 │
│ posthog-events output = self.handle(*args, **options) │
│ posthog-events File "/home/posthog/code/ee/management/commands/migrate_clickhouse.py", line 41, in │
│ posthog-events self.migrate(CLICKHOUSE_HTTP_URL, options) │
│ posthog-events File "/home/posthog/code/ee/management/commands/migrate_clickhouse.py", line 57, in │
│ posthog-events sql = getattr(op, "_sql") │
│ posthog-events AttributeError: 'RunPython' object has no attribute '_sql'
```
This is due to the command not working with `RunPython` commands.