summaryrefslogtreecommitdiffstats
path: root/store
Commit message (Collapse)AuthorAgeFilesLines
* Uncomment upgrade for 4.10 (#8727)Derrick Anderson2018-05-041-8/+7
| | | | | | | | * uncomment upgrade code * ping jenkins * add 4.10.0 to version.go
* MM-10319: Use normalized email for Saml (migration) (#8711)Jesús Espino2018-05-041-0/+1
|
* Revert "MM-9770: rewrite getParentsPosts to improve performance (#8467)" ↵Derrick Anderson2018-04-302-215/+118
| | | | | (#8659) (#8694) This reverts commit 4b675b347b5241def7807fab5e01ce9b98531815.
* [MM-10354] Add feature to remove team icon (#8684)Saturnino Abril2018-04-301-1/+0
| | | | | | | | * set team.LastTeamIconUpdate to 0 when removing team icon * add APIv4 for removing team icon * removed comment and updated typo on AppError
* Fixing some merge conflicts with structured logging. (#8685)Christopher Speller2018-04-271-2/+2
|
* Structured logging (#8673)Christopher Speller2018-04-2717-102/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implementing structured logging * Changes to en.json to allow refactor to run. * Fixing global logger * Structured logger initalization. * Add caller. * Do some log redirection. * Auto refactor * Cleaning up l4g reference and removing dependancy. * Removing junk. * Copyright headers. * Fixing tests * Revert "Changes to en.json to allow refactor to run." This reverts commit fd8249e99bcad0231e6ea65cd77c32aae9a54026. * Fixing some auto refactor strangeness and typo. * Making keys more human readable.
* modestly extend SQLite support (#8677)Jesse Hallam2018-04-271-0/+31
| | | | | This is primarily to unblock the advanced permissions merge. There's still more work to do if we wanted this to be mainstream, but as it's mainly for unit tests, I'm just focussing on the minimum.
* MM-10121: CLI command to reset permissions system to default state. (#8637)George Goldberg2018-04-1814-15/+221
| | | | | | * MM-10121: CLI command to reset permissions system to default state. * Review comment.
* MM-10020: avoid duplicating unique indexes (#8587)Jesse Hallam2018-04-164-16/+265
| | | | | | | | | | | | | | * unit test TestGet(Search)Replica This adds partial, testing-focused support for SQLite, as well as removing some translated log messages that required initializing i18n just for testing. * avoid returning master twice when no replicas are configured * remove duplicate indexes * unit test GetAllConns
* uncomment 4.9 upgrade code (#8582)Derrick Anderson2018-04-051-10/+19
| | | | | | | | * set db to 4.9 * add prepatory code for 4.10 * bug from old example
* Fixing misspell errors (#8544)Jesús Espino2018-03-292-4/+4
|
* MM-9661: tweak post message size log (#8517)Jesse Hallam2018-03-291-2/+2
| | | | Call out the number of supported characters explicitly, moving the byte limit to parentheses.
* Remove the index on Channels.DisplayName. (#8530)Jesse Hallam2018-03-282-3/+21
| | | | | | | As outlined in [this discussion](https://pre-release.mattermost.com/core/pl/uw5bwmkb6irkbkn6pk9rkzpytr), this index causes issues with MySQL's query planner, leading to full table scans in a case where it would have made more sense to leverage a filesort.
* Add unit test coverage for SqlStatusStore.GetAllFromTeam (#8520)Jesse Hallam2018-03-281-0/+90
| | | | I added this as part of a separate PR that was deferred for now, but figured the unit test coverage would still be useful.
* Fix roles table ID max length so MySQL 5.6 doesn't fail. (#8532)George Goldberg2018-03-281-0/+1
|
* Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-1Martin Kraft2018-03-274-57/+170
|\
| * Relax 4k post message limit (#8478)Jesse Hallam2018-03-264-57/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * MM-9661: rename POST_MESSAGE_MAX_RUNES to \0_v1 * MM-9661: s/4000/POST_MESSAGE_MAX_RUNES_V1/ in tests * MM-9661: introduce POST_MESSAGE_MAX_RUNES_V2 * MM-9661: migrate Postgres Posts.Message column to TEXT from VARCHAR(4000) This is safe to do in a production instance since the underyling type is not changing. We explicitly don't do this automatically for MySQL, but also don't need to since the ORM would have already created a TEXT column for MySQL in that case. * MM-9661: emit MaxPostSize in client config This value remains unconfigurable at this time, but exposes the current limit to the client. The limit remains at 4k in this commit. * MM-9661: introduce and use SqlPostStore.GetMaxPostSize Enforce a byte limitation in the database, and use 1/4 of that value as the rune count limitation (assuming a worst case UTF-8 representation). * move maxPostSizeCached, lastPostsCache and lastPostTimeCache out of the global context and onto the SqlPostStore * address feedback from code review: * ensure sqlstore unit tests are actually being run * move global caches into SqlPostStore * leverage sync.Once to address a race condition * modify upgrade semantics to match new db semantics gorp's behaviour on creating columns with a maximum length on Postgres differs from MySQL: * Postgres * gorp uses TEXT for string columns without a maximum length * gorp uses VARCHAR(N) for string columns with a maximum length of N * MySQL * gorp uses TEXT for string columns with a maximum length >= 256 * gorp uses VARCHAR(N) for string columns with a maximum length of N * gorp defaults to a maximum length of 255, implying VARCHAR(255) So the Message column has been TEXT on MySQL but VARCHAR(4000) on Postgres. With the new, longer limits of 65535, and without changes to gorp, the expected behaviour is TEXT on MySQL and VARCHAR(65535) on Postgres. This commit makes the upgrade semantics match the new database semantics. Ideally, we'd revisit the gorp behaviour at a later time. * allow TestMaxPostSize test cases to actually run in parallel * default maxPostSizeCached to POST_MESSAGE_MAX_RUNES_V1 in case the once initializer panics * fix casting error * MM-9661: skip the schema migration for Postgres It turns out resizing VARCHAR requires a rewrite in some versions of Postgres, but migrating VARCHAR to TEXT does not. Given the increasing complexity, let's defer the migration to the enduser instead.
* | Merge branch 'master' into advanced-permissions-phase-1Martin Kraft2018-03-232-0/+8
|\|
| * Timezone feature (#8185)Chris Duarte2018-03-222-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add supported timezones into config Remove Timezone list creation in favor of timezone from configs Add Timezone field to Users table Clean up format of SupportedTimezones in config * Remove unwanted change * Add test for updating user timezone * Add empty map[string]string if Timezone is null * Add EnableTimezoneSelection config * Revert back to map[string]string for ClientConfig * Refactor SupportedTimezones into timezones.json * Include timezones.json in TestConfigFlag * Add timezone api endpoint * Bump varchar size to 256 and setMaxSize in user_store * Refactor LoadConfig to LoadConfig and LoadTimezoneConfig * Remove unnecessary argument in LoadConfig, mail_test * Add test for timezone endpoint * Add license header * Refactor timezones endpoint to system.go * Add system base route to timezone endpoint * db timezone upgrade in db v4.9 * Avoid saving SupportedTimezones to config.json * Add timezonePath support in config * Remove EnableTimezoneSelection from config * Use return statement without return parameter * Refactor test for SupportedTimezones * Check for supportedTimezone != nil instead of using len * Decouple SupportedTimezones out of Config * Fix failing test * Add LastTeamIconUpdate back in upgrade.go * Write timezone config in config_flag_test * Add code fallback for default timezone support
* | Merge branch 'master' into advanced-permissions-phase-1George Goldberg2018-03-192-118/+215
|\|
| * MM-9770: rewrite getParentsPosts to improve performance (#8467)Jesse Hallam2018-03-162-118/+215
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rename variables in testPostStoreGetPostsWithDetails This helps to clarify the structure of the posts under test. * clarify and expand existing testPostStoreGetPostsWithDetails assertions * expand testPostStoreGetPostsWithDetails assertions This verifies that replies to posts in the window, themselves not in the window (because of a non-zero offset) are still fetched. They were previously missing. * MM-9770: rewrite getParentsPosts to improve performance See discussion on ~developers-performance, but the basic idea here is to force the database to use the `PRIMARY` index when fetching posts instead of trying to filter down by channel and doing a scan.
* | Merge branch 'master' into advanced-permissions-phase-1George Goldberg2018-03-1318-136/+560
|\|
| * MM-8839: Adds ChannelType to compliance-related model. (#8424)Martin Kraft2018-03-092-0/+5
| |
| * Remove query to update channel extra_update_at field on user ↵Joram Wilander2018-03-095-89/+10
| | | | | | | | activation/deactivation (#8415)
| * MM-9274- Sort Users in Channel by status (#8181)Stephen Kiers2018-03-094-1/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sort by lastActivity * added status ordering to Users * sort offline before dnd * remove data not needed * added seperate call for when order=‘status’ is on GetUser request * remove PrintLn * styling fix * remove mistake * mistake 2 * better comment * explicit if statemnt * writing tests * removed manually added mocks * generated mock * ICU-668 Added unit tests * style fix * sort by lastActivity * added status ordering to Users * sort offline before dnd * remove data not needed * added seperate call for when order=‘status’ is on GetUser request * remove PrintLn * styling fix * remove mistake * mistake 2 * better comment * explicit if statemnt * writing tests * removed manually added mocks * generated mock * ICU-668 Added unit tests * style fix * reverse dnd and offline * Fixed app.SaveStatusAndBroadcast * Fixed incorrect merge * Fixing incorrect merge again
| * Moved team icon upgrade code to 4.9 since it didn't make it in for 4.8 (#8410)Joram Wilander2018-03-081-1/+1
| |
| * general cleanup (#8387)Chris2018-03-071-2/+0
| |
| * XYZ-87: GlobalRelay DM Exports do not Include Channel Name (#8275)Jonathan2018-03-072-22/+282
| | | | | | | | | | | | | | | | | | | | * Adding ChannelMemberHistory table records when DM channels are created. This ensures that both participants in a DM are shown in compliance export, even if only one of them typed anything * Direct/Group Message channels now get pretty display names for the purpose of compliance exports * Fixed string formatting in t.Fatal calls * Changed uses of ChannelMemberHistory over to ChannelMemberHistoryResult in tests. This should have been done as a part of the work in XYZ-110, but seems to have been missed in this branch for some reason
| * Add preparatory upgrade code for 4.9 (#8408)Joram Wilander2018-03-051-4/+11
| |
| * MM-9664 Add invalidation metrics for store caches (#8340)Joram Wilander2018-03-0511-19/+110
| | | | | | | | | | | | | | | | * Add invalidation metrics for store caches * Increment session invalidation metric * Fix tests
* | Merge branch 'master' into advanced-permissions-phase-1George Goldberg2018-03-026-3/+70
|\|
| * PLT-7567: Integration of Team Icons (#8284)Christian Hoff2018-03-015-0/+56
| | | | | | | | | | | | | | | | | | | | * PLT-7567: Integration of Team Icons * PLT-7567: Read replica workaround, upgrade logic moved, more concrete i18n key * PLT-7567: Read replica workaround, corrections * PLT-7567: upgrade correction
| * Simplification of a Channel Members query. (#8345)George Goldberg2018-02-281-3/+3
| |
| * merge 4.7.1 to masterSaturnino Abril2018-02-191-0/+12
| |\
| | * Add upgrade code from 4.7.0 to 4.7.1JoramWilander2018-02-161-0/+12
| | |
| | * Merge branch 'release-4.7' into XYZ-110Jonathan Fritz2018-02-137-72/+15
| | |\
| | | * revert master changesDerrick Anderson2018-02-127-72/+15
| | | |
| | * | Removed unused fields from ChannelMemberHistory table, introduced new ↵Jonathan Fritz2018-02-123-18/+20
| | |/ | | | | | | | | | model.ChannelMemberHistoryResult object that includes those fields that are selected from a join on other tables
* | | Merge branch 'master' into advanced-permissions-phase-1George Goldberg2018-02-191-6/+20
|\| |
| * | PLT-8723: Fix DeadLock on reactions insertions (#8225)Jesús Espino2018-02-151-6/+20
| | | | | | | | | | | | | | | | | | * PLT-8723: Fix DeadLock on reactions insertions * Improved the HasReactions update SQL
* | | Merge remote-tracking branch 'origin/master' into advanced-permissions-phase-1Martin Kraft2018-02-143-18/+20
|\| |
| * | XYZ-110: Cherrypicking changes from release-4.7 to master (#8254)Jonathan2018-02-133-18/+20
| |/ | | | | | | | | | | | | | | * Cherry-picking 7b2861de3a09cf00d00b0872cc537d54302c4bfa to master because enterprise/master has code in it that enterprise/release-4.7 does not, and I don't want enterprise/master to break the next time somebody merges enterprise/release-4.7 to enterprise/master * Renamed file to match existing scheme (cherry picked from commit 8c22c5c6c6f835a6e73faf19036bad2a51bb9127)
* | XYZ-78: Add note to upgrade code about advanced permissions migration. (#8267)George Goldberg2018-02-131-0/+4
| |
* | Merge branch 'master' into advanced-permissions-phase-1George Goldberg2018-02-134-8/+42
|\|
| * ABC-228 Update GetPosts caching to work for non-60 limits (#8233)Joram Wilander2018-02-092-7/+31
| | | | | | | | | | | | | | | | * Update GetPosts caching to work for non-60 limits * Only cache on limits of 30/60 and add test * Add comments clarifying 30 and 60 limits
| * Merge branch 'release-4.7'Derrick Anderson2018-02-092-1/+2
| |\
| | * Increase OAuth2 state parameter limitJoramWilander2018-02-072-1/+2
| | |
| * | Add prepatory code for 4.8.0 (#8226)Derrick Anderson2018-02-081-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | * Add prepatory code for 4.8.0 * formatting issue * build bug
* | | XYZ-80: Add CreateAt/UpdateAt/DeleteAt fields to roles table. (#8223)George Goldberg2018-02-081-0/+12
| | |
* | | XYZ-59: Implement redis caching layer for Role store. (#8207)George Goldberg2018-02-074-67/+148
| | | | | | | | | | | | | | | | | | * XYZ-59: Implement redis caching layer for Role store. * Use variable for key where used more than once.