mirror of
https://github.com/not-kennethreitz/convore.json.git
synced 2026-06-05 23:20:19 +00:00
1 line
115 KiB
JSON
1 line
115 KiB
JSON
[{"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827220.8486331, "message": "heh ;)", "group_id": 8448, "id": 814772}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303818003.568738, "message": "Our agenda:", "group_id": 8448, "id": 812660}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303817979.6320601, "message": "The goal of this discussion is to develop a proposal for Symphony 3's database structure and implementation", "group_id": 8448, "id": 812658}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303818017.588299, "message": "1) Background, 5 mins", "group_id": 8448, "id": 812661}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303819563.786963, "message": "me neither", "group_id": 8448, "id": 812782}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303819670.7897251, "message": "I'm not really the ideal person to give the background on this topic, so if someone else wants to briefly summarize what we've done in the past and what some of the issues are, that'd be great", "group_id": 8448, "id": 812809}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820399.656126, "message": "brendo: but the current trend is make use of files as much as possible", "group_id": 8448, "id": 812987}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303819419.9049981, "message": "I guess so?", "group_id": 8448, "id": 812743}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303819527.133275, "message": "howdy", "group_id": 8448, "id": 812766}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303819685.8043439, "message": "hope you all had a great weekend btw", "group_id": 8448, "id": 812810}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820207.683007, "message": "Agreed", "group_id": 8448, "id": 812928}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820420.366379, "message": "the datasource is still a file", "group_id": 8448, "id": 812992}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303820504.763875, "message": "righto", "group_id": 8448, "id": 813014}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303819523.7231531, "message": "Here's Nils W", "group_id": 8448, "id": 812765}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303819417.1583941, "message": "Hi", "group_id": 8448, "id": 812741}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303819419.32268, "message": "Brendan's on his way", "group_id": 8448, "id": 812742}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303819531.0059249, "message": "Hi", "group_id": 8448, "id": 812768}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303819899.5812409, "message": "Alright, well we all know that Symphony 2's DB naming scheme was not ideal", "group_id": 8448, "id": 812846}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303819911.54707, "message": "That's already been addressed in early prototypes of S3", "group_id": 8448, "id": 812848}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303820036.552767, "message": "Right now, the current S3 prototype DB contains:", "group_id": 8448, "id": 812890}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303820053.216579, "message": "- access control roles and permissions", "group_id": 8448, "id": 812891}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303820203.7496541, "message": "We've already discounted the idea in previous discussions...", "group_id": 8448, "id": 812926}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820545.324203, "message": "@phoque, I don't believe they are really, it'd be interesting to see just how much it helps though", "group_id": 8448, "id": 813032}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820964.7759831, "message": "yes", "group_id": 8448, "id": 813143}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303818535.5235629, "message": "2) Scope, 5 mins", "group_id": 8448, "id": 812687}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303819560.6582029, "message": "Nope", "group_id": 8448, "id": 812779}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303820290.5229399, "message": "i think we're talking about the DB schema, naming system, what gets stored in the DB vs in files...", "group_id": 8448, "id": 812947}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820313.033004, "message": "It'd make the majority of our tables InnoDB, but afaik it also looses FULLTEXT search, which is necessary for somethings", "group_id": 8448, "id": 812958}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820818.6657729, "message": "so the superquery knows about the fields?", "group_id": 8448, "id": 813118}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820961.204627, "message": "from the fields?", "group_id": 8448, "id": 813141}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821242.900898, "message": "correct", "group_id": 8448, "id": 813186}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821244.3501141, "message": "How would you cater for heavily normalised fields?", "group_id": 8448, "id": 813187}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821250.9829719, "message": "Where they have multiple rows", "group_id": 8448, "id": 813188}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303818633.2992909, "message": "3) Goals, 10 mins", "group_id": 8448, "id": 812691}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303818862.449142, "message": "5) Next Steps, 5 mins", "group_id": 8448, "id": 812703}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820341.8991909, "message": "so a datasource would become a table, everything would have inherit caching", "group_id": 8448, "id": 812970}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303818854.114429, "message": "4) Proposals, 15 mins", "group_id": 8448, "id": 812702}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303819609.6787081, "message": "nein", "group_id": 8448, "id": 812795}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303819689.512821, "message": "and thanks for coming", "group_id": 8448, "id": 812812}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303819925.7900691, "message": "What about the structure itself?", "group_id": 8448, "id": 812852}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303819940.2950029, "message": "I'm negotiating", "group_id": 8448, "id": 812857}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303820301.955668, "message": "anything else?", "group_id": 8448, "id": 812950}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820428.381171, "message": "it's just the result of that datasource are stored in their own table", "group_id": 8448, "id": 812995}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820430.9489009, "message": "so there'd be no joins", "group_id": 8448, "id": 812997}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303820432.9196019, "message": "I'm back. I have bought myself 30 minutes", "group_id": 8448, "id": 812999}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821397.4637511, "message": "more expensive", "group_id": 8448, "id": 813205}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821457.69014, "message": "true", "group_id": 8448, "id": 813217}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821823.6839399, "message": "we also want to include the elements: name, colour, size and fabric", "group_id": 8448, "id": 813307}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822038.258688, "message": "pre render v.s. post render", "group_id": 8448, "id": 813360}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303819363.648829, "message": "Just the three?", "group_id": 8448, "id": 812737}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303819534.8806529, "message": "thanks Craig for the heads up", "group_id": 8448, "id": 812770}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303819548.2443991, "message": "Hey", "group_id": 8448, "id": 812773}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303819549.313715, "message": "Not sure where Huib is. Anyone got his IM?", "group_id": 8448, "id": 812774}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303819896.9370921, "message": ":-)", "group_id": 8448, "id": 812844}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820630.7259419, "message": "@brend0 implementing \"proper joins\" in S2 will be quite complicated so there's no real way to find out", "group_id": 8448, "id": 813066}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821487.487215, "message": "So now they're file based, queries are better", "group_id": 8448, "id": 813222}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303819444.768441, "message": "No Huib or Nils (phoque)? They always have thoughts on db structure", "group_id": 8448, "id": 812749}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820028.358583, "message": "it's a just a regular DB normalization scheme, people with some knowledge in DB schemes should've heard about it :-)", "group_id": 8448, "id": 812885}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303820176.1711359, "message": "I don't think so. I mean, it can if we want it to, but the argument would have to be very compelling.", "group_id": 8448, "id": 812919}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820218.7873099, "message": "So what's the scope of this discussion?", "group_id": 8448, "id": 812930}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820322.5236299, "message": "I think awhile back A&A had the idea that Datasources would be stored in the DB", "group_id": 8448, "id": 812960}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820435.50863, "message": "ah, right", "group_id": 8448, "id": 813000}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303820526.0429311, "message": "yes, so the idea is to use a semi \"compiled\" version which the DS actually grabs from", "group_id": 8448, "id": 813023}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303819860.843724, "message": "We're off to a great start.", "group_id": 8448, "id": 812836}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303819925.9025049, "message": "handles, not IDs", "group_id": 8448, "id": 812854}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303819934.6594529, "message": "sorry, I'm getting kicked out", "group_id": 8448, "id": 812856}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303819942.466433, "message": "give me a second", "group_id": 8448, "id": 812860}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820063.424423, "message": "It has been suggested that it could be less obtuse, so one table per section, fields as columns. There are benefits (in terms of no joins), but a field that accepts mpore than one value simply needs an additional normalisation step", "group_id": 8448, "id": 812895}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303819688.6571231, "message": "Mr C?", "group_id": 8448, "id": 812811}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303819961.8463669, "message": "I guess the structure itself is fine/necessary", "group_id": 8448, "id": 812868}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820731.954345, "message": "(yes)", "group_id": 8448, "id": 813095}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820770.7886879, "message": "- merged the JOINSs together", "group_id": 8448, "id": 813107}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820986.981384, "message": "so", "group_id": 8448, "id": 813147}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821007.0015309, "message": "SELECT * FROM tbl_entries_data_{field_id} WHERE id IN (1,2,3,4)", "group_id": 8448, "id": 813150}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821019.1855021, "message": "yes", "group_id": 8448, "id": 813153}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820080.0444019, "message": "Is this disucssion extending to consider no-SQL and document-based stores?", "group_id": 8448, "id": 812900}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303820590.2128301, "message": "Hang on, want to backtrack a bit, I want to make sure we're talking about the same stuff.", "group_id": 8448, "id": 813053}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820756.748256, "message": "No, the super query does:", "group_id": 8448, "id": 813103}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820781.5437, "message": "- adds WHERE for DS filtering", "group_id": 8448, "id": 813109}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820791.9544461, "message": "PHP doesn't do any sorting and resorting anymore", "group_id": 8448, "id": 813114}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820799.4351621, "message": "(not since 2.2.1 anyway)", "group_id": 8448, "id": 813115}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821291.1556411, "message": "A tag list, for example", "group_id": 8448, "id": 813193}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821412.4550681, "message": "so sections, fields, delegates are all file based", "group_id": 8448, "id": 813208}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821527.9831131, "message": "extensions and delegates aren't stored in the database?", "group_id": 8448, "id": 813236}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822152.1487989, "message": "well this method is not dissimilar to schemaless DBs", "group_id": 8448, "id": 813387}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820239.285558, "message": "I'd like to think about if we could use foreign keys to manage our relationships", "group_id": 8448, "id": 812937}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820489.218643, "message": "the way they're implemented now is a problem", "group_id": 8448, "id": 813011}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820705.5535941, "message": "and one to sort", "group_id": 8448, "id": 813089}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820725.260937, "message": "The super-query that gets entry IDs does the sort", "group_id": 8448, "id": 813092}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820736.7940791, "message": "after wich PHP starts re-sorting them", "group_id": 8448, "id": 813097}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820799.964632, "message": "Those are then looped over, the field data populated", "group_id": 8448, "id": 813116}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820823.31671, "message": "All sorting, limiting and filtering was done in the PHP", "group_id": 8448, "id": 813119}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820829.591841, "message": "It knows about filtered fields", "group_id": 8448, "id": 813121}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821057.7504661, "message": "which is fine, but it'd have to be established at the start", "group_id": 8448, "id": 813163}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821128.985949, "message": "you'd have to start to wonder if this approach would be more expensive doing a query like that", "group_id": 8448, "id": 813172}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821440.1855121, "message": "the more I think about it the more I like the blob approach", "group_id": 8448, "id": 813213}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821550.924926, "message": "ok", "group_id": 8448, "id": 813239}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821627.281873, "message": "Whereas S2 does one query per field for all entries ( WHERE id IN(1,2,3))", "group_id": 8448, "id": 813253}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821650.409488, "message": "Oh, cool", "group_id": 8448, "id": 813259}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303821944.6425171, "message": "how does it stay updated?", "group_id": 8448, "id": 813328}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820468.96435, "message": "Allen, go go go!", "group_id": 8448, "id": 813006}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303820650.9891441, "message": "The original idea was a pseudo cached copy. Brendan later suggested looking at views", "group_id": 8448, "id": 813074}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820659.528192, "message": "In my experience joins are not expensive at all... until you want to sort them. In some circumstances adding an ORDER BY will force the query not to use the indexes, hitting performance massively.", "group_id": 8448, "id": 813077}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821065.6605101, "message": "not really", "group_id": 8448, "id": 813164}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821101.311121, "message": "and passes the data back to each field", "group_id": 8448, "id": 813169}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821148.959029, "message": "I presume there's a callback so when each row or field is built, or requested, it gets populated", "group_id": 8448, "id": 813174}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821150.4159031, "message": "and the processing that would do the aliasing, and then the mapping back to the field", "group_id": 8448, "id": 813175}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821167.51069, "message": "In terms of speed, anyway", "group_id": 8448, "id": 813179}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821435.095403, "message": "That's a hard question to answer", "group_id": 8448, "id": 813211}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821456.3726411, "message": "even though it feels like patching things up isntead of solving the problem", "group_id": 8448, "id": 813216}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820341.9944699, "message": "craig: implementing how the data is accessed by Symphony?", "group_id": 8448, "id": 812971}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820432.152272, "message": "But the output is cached in the database?", "group_id": 8448, "id": 812998}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820476.2430639, "message": "I am still having a hard time believing that joins are a big problem in the current scheme", "group_id": 8448, "id": 813008}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820520.02897, "message": "instead of going back and forth between MySQL and PHP", "group_id": 8448, "id": 813022}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820614.424403, "message": "Right", "group_id": 8448, "id": 813060}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820644.4749141, "message": "unless... one copies all queries Symphony fires in a certain situation", "group_id": 8448, "id": 813073}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820745.8599241, "message": "no?", "group_id": 8448, "id": 813099}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820789.2047319, "message": "What's left is the entry IDs for the DS", "group_id": 8448, "id": 813112}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303822294.578732, "message": "ok, let's take a step back", "group_id": 8448, "id": 813412}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822334.9434021, "message": "to let fields create hash values", "group_id": 8448, "id": 813420}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822605.0023601, "message": "I think you'll use anything you could've gained if you save the whole entry", "group_id": 8448, "id": 813485}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820509.251565, "message": "but I guess the problem would disappear if we'd let MySQL do the joins", "group_id": 8448, "id": 813017}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820668.3673699, "message": "and changes them to do proper JOINS", "group_id": 8448, "id": 813080}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820743.164351, "message": "No...", "group_id": 8448, "id": 813098}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820776.865068, "message": "- adds pagination LIMIT", "group_id": 8448, "id": 813108}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820478.1945701, "message": "yeah, perhaps Allen can elaborate a little more on that", "group_id": 8448, "id": 813009}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303820485.124501, "message": "Reading the log", "group_id": 8448, "id": 813010}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820825.5105929, "message": "yeah", "group_id": 8448, "id": 813120}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303820842.359509, "message": "I think there are two issues at hand one is about performance of complex queries, which is what we're talking about. The other is the overhead of the amount of queries called", "group_id": 8448, "id": 813123}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820986.0682509, "message": "well no, it calls each field one to get the values", "group_id": 8448, "id": 813146}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821220.8481369, "message": "phoque, are you suggesting one single query to do the lot?", "group_id": 8448, "id": 813181}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821230.777566, "message": "yes", "group_id": 8448, "id": 813183}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821261.196125, "message": "hmmm", "group_id": 8448, "id": 813190}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821416.5756221, "message": "yeah but how much so?", "group_id": 8448, "id": 813210}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821506.596899, "message": "there is definitely a reduction in query count", "group_id": 8448, "id": 813226}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821521.0140779, "message": "and how does fetching fieldnames from files compare to fetching them from the DB? :-)", "group_id": 8448, "id": 813231}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821526.452908, "message": "but it's still is comparatively higher than the basic requirements of other systems", "group_id": 8448, "id": 813234}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821537.6609399, "message": "I thought they were stored in extensions.xml", "group_id": 8448, "id": 813237}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303821571.7314579, "message": "@brend0: my install has them in the DB right now", "group_id": 8448, "id": 813242}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821590.761214, "message": "more importantly fetching from file system reduces the dependancy and load to the DB. This is important if we are looking at segregated systems with dedicated DBs", "group_id": 8448, "id": 813244}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821600.368365, "message": "whats the reasoning behind the idea of saving all delegates in some place special?", "group_id": 8448, "id": 813245}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821643.7515941, "message": "@nickdunn I think I implemented a fix for that", "group_id": 8448, "id": 813257}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821647.891845, "message": "This is a byproduct of using an Iterator I think", "group_id": 8448, "id": 813258}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821661.700839, "message": "@brend0 is that on the current S3 branch or your local version?", "group_id": 8448, "id": 813261}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821662.4940259, "message": "whether it's actually on the s3 repo or it's in the BBCWW repo, I can't remember", "group_id": 8448, "id": 813263}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303821670.1200521, "message": "DB and manifest/extensions.xml", "group_id": 8448, "id": 813267}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821712.0620339, "message": "I don't really like the idea to be honest", "group_id": 8448, "id": 813274}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822892.3505609, "message": "How does the current implementation deal with this?", "group_id": 8448, "id": 813583}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820680.701041, "message": "what do you mean phoque?", "group_id": 8448, "id": 813083}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820681.8615179, "message": "with your comment about back and forth?", "group_id": 8448, "id": 813084}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820683.01562, "message": "at the moment there's one super query that grabs all the entry ID's", "group_id": 8448, "id": 813085}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303820760.7913561, "message": "The sort happens at the SQL level", "group_id": 8448, "id": 813104}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820884.842525, "message": "but it's not pulling data using a JOIN", "group_id": 8448, "id": 813129}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821027.3468809, "message": "the difficulty of joining that with another one is that each table would have to alias the columns", "group_id": 8448, "id": 813154}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821037.999227, "message": "yeah, why not", "group_id": 8448, "id": 813157}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821040.464644, "message": "because it's a pretty common convention to have handle/value as column names", "group_id": 8448, "id": 813158}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821051.5833859, "message": "{tablename}_{columnname}", "group_id": 8448, "id": 813161}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821095.00911, "message": "the superquery does", "group_id": 8448, "id": 813168}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821134.1110029, "message": "Might be worth chipping in here and saying how S3 is currently working with Iterators", "group_id": 8448, "id": 813173}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821233.710638, "message": "filter/join (to get entry IDs), as well as getting their data", "group_id": 8448, "id": 813184}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821303.093358, "message": "still provide the API for the \"old school way\"?", "group_id": 8448, "id": 813194}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821480.4938359, "message": "S2 wasted so much just on resolving field/section names/IDs", "group_id": 8448, "id": 813219}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303821662.7620571, "message": "my install has them in both places", "group_id": 8448, "id": 813264}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821753.4086709, "message": "Allen, could you explain? This is new to some of us", "group_id": 8448, "id": 813294}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821847.4303961, "message": "Upon creation of the DS, a index table is created with the following columns:", "group_id": 8448, "id": 813311}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821911.9647541, "message": "When a DS fetches, it's fetching from the index table", "group_id": 8448, "id": 813322}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303820603.8913109, "message": "So we're on the topic of joins and whether or not it's a computationally expensive thing?", "group_id": 8448, "id": 813057}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821328.2128379, "message": "...wich will make things even more complicated", "group_id": 8448, "id": 813195}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821330.188031, "message": "hm", "group_id": 8448, "id": 813196}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821332.3561289, "message": "One rule for one, and one rule for another, feels a bit clunky", "group_id": 8448, "id": 813197}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821724.9314809, "message": "I don't see the point of storing it as blob, it's essentially nosql in mysql", "group_id": 8448, "id": 813278}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821733.821147, "message": "contrary", "group_id": 8448, "id": 813282}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821757.4092541, "message": "blob concept allows filtering, without the overhead of coventional filtering via sql", "group_id": 8448, "id": 813296}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821764.5408239, "message": "sure", "group_id": 8448, "id": 813298}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821889.278393, "message": "12, red, large, '<elements>...</elements>'", "group_id": 8448, "id": 813320}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822001.270211, "message": "yes, but it's easy to find as you just need to fetch by entry id", "group_id": 8448, "id": 813348}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822030.2622089, "message": "yes", "group_id": 8448, "id": 813356}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820687.6716471, "message": "and then there is one query per field (typically) after that", "group_id": 8448, "id": 813086}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820696.142647, "message": "yeah", "group_id": 8448, "id": 813087}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303820761.5318, "message": "aye", "group_id": 8448, "id": 813105}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821070.7492149, "message": "your query can alias them", "group_id": 8448, "id": 813166}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821400.840117, "message": "S3 uses files for everything currently except data", "group_id": 8448, "id": 813206}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820612.4218659, "message": "\"Compiled\" being a view, or a cached copy of the data itself?", "group_id": 8448, "id": 813059}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303820846.372021, "message": "the superquery calls each field to ask for it's where/join/sort", "group_id": 8448, "id": 813124}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820847.1535859, "message": "It joins the tables needed to build the WHERE filters", "group_id": 8448, "id": 813125}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821091.816618, "message": "instead of each field pulling the data themselves", "group_id": 8448, "id": 813167}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820728.680275, "message": "wich returns the IDs in a certain order", "group_id": 8448, "id": 813093}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303820764.415107, "message": "- selects entry IDs", "group_id": 8448, "id": 813106}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303820875.553812, "message": "ok", "group_id": 8448, "id": 813128}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821162.257812, "message": "Lots of little queries are often more performant than a big one", "group_id": 8448, "id": 813177}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821386.1490309, "message": "Out of curiosity, how expensive is the database currently? compared to say wordpress or drupal?", "group_id": 8448, "id": 813203}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821444.844346, "message": "the systems are different so comparing them would be apple to oranges", "group_id": 8448, "id": 813214}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821627.6603849, "message": "(just from BBCWW memories and git conflicts with the massive file)", "group_id": 8448, "id": 813254}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821712.3110371, "message": "I think that regardless of the core implementation of the DB structure, an index table concept will yield the most performant result", "group_id": 8448, "id": 813275}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822192.261117, "message": "They un-normalise the data heavily", "group_id": 8448, "id": 813396}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822211.5355151, "message": "So if you look at this academically, there is competing concepts in this approach", "group_id": 8448, "id": 813399}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822230.816349, "message": "Super normalised DBs is a way to reduce redundancy", "group_id": 8448, "id": 813402}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822342.71241, "message": "and access blobs using those values", "group_id": 8448, "id": 813421}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822413.7196021, "message": "but fetching entries with non-existent index table entries will create new ones", "group_id": 8448, "id": 813432}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822504.457731, "message": "wait", "group_id": 8448, "id": 813453}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822571.6654439, "message": "Store an entry's XML in tbl_entries. Get the list of entry IDs as usual (making JOINs for WHERE). Grab the entry XML, and apply XPath to just include the elements you want", "group_id": 8448, "id": 813472}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821445.3654339, "message": "just in terms of number of queries or the time spent on querying?", "group_id": 8448, "id": 813215}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821467.6983881, "message": "S3 is much better", "group_id": 8448, "id": 813218}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303821487.460609, "message": "S3's db stores user roles and permissions, cache, entry data, entries, extensions, delegates, section associations and sync, sessions, and users", "group_id": 8448, "id": 813221}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821487.908669, "message": "indeed", "group_id": 8448, "id": 813223}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821509.3014381, "message": "in S3", "group_id": 8448, "id": 813227}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821510.375314, "message": "However the existing S3 codebase is backward in some respects", "group_id": 8448, "id": 813228}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821515.2462051, "message": "Which increases queries", "group_id": 8448, "id": 813229}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821523.8006179, "message": "/me rummages in email", "group_id": 8448, "id": 813233}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821541.888448, "message": "Fetching field names from files compares favourably", "group_id": 8448, "id": 813238}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821559.9601669, "message": "@brend0 the idea is to store extensions in XML but ran out of time to do that", "group_id": 8448, "id": 813241}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303821607.363302, "message": "well delegates must be in the xml then", "group_id": 8448, "id": 813246}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303821612.7684619, "message": "I did see in the S3 core that when entries were built, it did one query per field, per entry", "group_id": 8448, "id": 813248}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821615.787488, "message": "makes the route of handling isolated DB systems a little more elegantly", "group_id": 8448, "id": 813250}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303821625.438077, "message": "so that changing them forces you to update the extension?", "group_id": 8448, "id": 813252}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821633.3100829, "message": "@nickdunn: correct", "group_id": 8448, "id": 813255}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303821674.485734, "message": "the DB must be old", "group_id": 8448, "id": 813268}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821687.692822, "message": "right to shall we talk about the blob idea?", "group_id": 8448, "id": 813270}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821797.932126, "message": "say that we want to create a DS for Shirts section and filter by colour and size", "group_id": 8448, "id": 813304}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821867.73106, "message": "entry_id, colour, size, included_elements", "group_id": 8448, "id": 813317}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821873.5838211, "message": "an example row would be:", "group_id": 8448, "id": 813318}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822002.6820321, "message": "If I have 10 data sources from Shirts, every time I update a shirt entry, it has to parse all 10 data sources?", "group_id": 8448, "id": 813349}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822021.4902329, "message": "Right", "group_id": 8448, "id": 813353}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822177.8288779, "message": "True", "group_id": 8448, "id": 813391}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822518.352381, "message": "in my version it does", "group_id": 8448, "id": 813459}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821780.4614561, "message": "I'll illustrate this using a scenario", "group_id": 8448, "id": 813303}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303821967.4003401, "message": "Symphony looks at the entry ID that is being modified and update/removes accordingly", "group_id": 8448, "id": 813333}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303821980.2317619, "message": "for all DSes that might call that entry?", "group_id": 8448, "id": 813338}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822392.336271, "message": "this means that saving one entry will not change/add ten index table entries", "group_id": 8448, "id": 813426}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822525.081691, "message": "I don't understand the blob idea, so maybe I'm about to describe it", "group_id": 8448, "id": 813462}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822636.892195, "message": "But as we've said, provided there are delegates throughout the entry building lifecycle, an extension could swap out this process", "group_id": 8448, "id": 813497}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824952.727834, "message": ":-/", "group_id": 8448, "id": 814287}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824965.3093719, "message": "can*", "group_id": 8448, "id": 814292}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822509.926091, "message": "a blob doesn't save the whole XML?", "group_id": 8448, "id": 813456}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303822743.5229559, "message": "worth running some tests?", "group_id": 8448, "id": 813537}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822829.043088, "message": "Maybe the data source value will respond to page context", "group_id": 8448, "id": 813560}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823048.9804699, "message": "- MyISAM vs InnoDB", "group_id": 8448, "id": 813638}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823322.8720059, "message": "@bredan, look at Allen's example again. He's suggesting storing the filterable values in columns (sorting/filtering)", "group_id": 8448, "id": 813766}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823556.255342, "message": "I do this with Search Index, and it's such an expensive task that I have to do it asynchronously", "group_id": 8448, "id": 813871}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822267.7196839, "message": "which is kind of weird", "group_id": 8448, "id": 813409}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303822402.2393379, "message": "storing blob data makes it difficult to actually use 'SQL' though", "group_id": 8448, "id": 813429}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823168.0476561, "message": "@brend0 I have a good answer. I'll mention it after Nick's done.", "group_id": 8448, "id": 813688}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823305.1160271, "message": "I think I'm not communicating the idea of index tables correctly", "group_id": 8448, "id": 813760}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822044.2050879, "message": "Understood", "group_id": 8448, "id": 813363}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822263.7607579, "message": "So we're implementing something that sits on both camps", "group_id": 8448, "id": 813408}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822499.2479961, "message": "What if the entire XML of an entry was cached", "group_id": 8448, "id": 813450}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822718.9940419, "message": "you'll deconstruct XML instead of constructing", "group_id": 8448, "id": 813531}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822761.2150741, "message": "I think we need to step back and ask the fundamental question first: is this worthwhile? Are we missing some key functionality if we go with this approach?", "group_id": 8448, "id": 813543}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303822794.064465, "message": "as I said 5 minutes ago.... goals", "group_id": 8448, "id": 813548}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822053.3538201, "message": "the deal is even if you lose all index tables, that's fine", "group_id": 8448, "id": 813364}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822061.431921, "message": "Symphony still stores DB in the traditional way", "group_id": 8448, "id": 813369}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822093.8050561, "message": "I imagine this could be implemented with an extension: a \"Cacheable data source\" data source type, and an extension that subscrubes to the appropriate delegates", "group_id": 8448, "id": 813377}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822100.4179239, "message": "sure", "group_id": 8448, "id": 813378}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822106.097311, "message": "subscribes*", "group_id": 8448, "id": 813380}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822111.2275529, "message": "that sounds very corruption-prone to me", "group_id": 8448, "id": 813382}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822640.8895581, "message": "EntryPreFetchData", "group_id": 8448, "id": 813498}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822662.7762311, "message": "Leave it, and Symphony builds as normal", "group_id": 8448, "id": 813507}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822667.3019531, "message": "Or subscribe and implement yourself", "group_id": 8448, "id": 813511}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822903.0087459, "message": ";-)", "group_id": 8448, "id": 813587}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823038.619303, "message": "- pre-indexing/caching entries as blobs etc", "group_id": 8448, "id": 813634}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822707.08058, "message": "XSLT being an expensive operation, more expensive than querying the field data", "group_id": 8448, "id": 813528}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303823286.997525, "message": "if your storing XML you can't use ORDER BY?", "group_id": 8448, "id": 813749}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823292.462373, "message": "4. Transactional?", "group_id": 8448, "id": 813753}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823423.466938, "message": "The ones that you are using in the DS", "group_id": 8448, "id": 813809}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823482.5567911, "message": "So if you had 2 filters (title, author) and sort on date, you'd have 5 columns:", "group_id": 8448, "id": 813845}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823528.3894391, "message": "The worry here is that if you have 100,000 entries cached, and you modify the DS to include another field, you've got to rebuild 100,000 entries", "group_id": 8448, "id": 813866}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823858.321322, "message": "True", "group_id": 8448, "id": 813983}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824219.9756801, "message": "Or something else I haven't considered", "group_id": 8448, "id": 814091}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822214.7784181, "message": "which I find fascinating", "group_id": 8448, "id": 813401}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823516.480231, "message": "DS querying would be super fast", "group_id": 8448, "id": 813860}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823558.974339, "message": "phoque's suggestion is to look at a post-process method", "group_id": 8448, "id": 813873}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823649.2596719, "message": "right", "group_id": 8448, "id": 813909}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823735.2527511, "message": "well, by cache territory I mean techniques exclusive to caching", "group_id": 8448, "id": 813945}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822250.5013511, "message": "un-normalised DB structures add redundancy", "group_id": 8448, "id": 813405}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822302.614882, "message": "just one second", "group_id": 8448, "id": 813413}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303822303.579447, "message": "what are our goals for the DB structure in S3?", "group_id": 8448, "id": 813414}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822620.8403561, "message": "s/use/lose", "group_id": 8448, "id": 813490}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823027.36305, "message": "So we've got a few things:", "group_id": 8448, "id": 813629}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823099.7762229, "message": "> what are our goals for the DB structure in S3?", "group_id": 8448, "id": 813669}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823119.0807209, "message": "re: MyISAM vs InnoDB. The core system's DB can use InnoDB while index tables can use whatever. Especially if Fulltext filtering is only required on index tables.", "group_id": 8448, "id": 813677}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822321.4941771, "message": "an alternative for the \"parse all datasources\" could be", "group_id": 8448, "id": 813417}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822490.6547749, "message": "The biggest bottleneck to me is the building of entries XML", "group_id": 8448, "id": 813446}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822555.0512359, "message": "@nickdunn the \"included_elements\" column in my index table example stores the entry XML", "group_id": 8448, "id": 813468}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822594.473223, "message": "right", "group_id": 8448, "id": 813481}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822710.112298, "message": "Well one thing is the need to read the XML in memory to process XPath over", "group_id": 8448, "id": 813529}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822749.1822071, "message": "anyway...want to slow down a bit here", "group_id": 8448, "id": 813539}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822781.7434821, "message": "We're getting to implementation details already but I think we just need to get a direction first", "group_id": 8448, "id": 813546}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822844.4186909, "message": "Sensitive to the current time, for example", "group_id": 8448, "id": 813567}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822847.013967, "message": "but they could simply ignore the index feature and do it the usual way", "group_id": 8448, "id": 813571}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822877.2906489, "message": "> Sensitive to the current time, for example", "group_id": 8448, "id": 813576}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822938.9934039, "message": "all things happen afterwards is dealt by the field/system itself", "group_id": 8448, "id": 813594}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822963.3005741, "message": "anyway", "group_id": 8448, "id": 813604}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822585.962167, "message": "Yes indeed, biut my idea is store the built entry once, in its entirety", "group_id": 8448, "id": 813477}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822593.937933, "message": "Not just the included elements for one DS", "group_id": 8448, "id": 813480}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822679.9748681, "message": "@phoque, how do you mean, performance wise?", "group_id": 8448, "id": 813514}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303823252.6016481, "message": "3. Relationships between data should handled natively by the database instead of via PHP where possible", "group_id": 8448, "id": 813732}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823767.5901539, "message": "what we're doing is indexing, which is a form of caching, yes, but not quite", "group_id": 8448, "id": 813953}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822758.6358981, "message": "Sure", "group_id": 8448, "id": 813542}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823078.5454891, "message": "> as I said 5 minutes ago.... goals", "group_id": 8448, "id": 813655}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303823082.4062419, "message": "Guys I need to duck out in a few minutes. Not that I have much to contribute here anyway. What I'd like to see come out of this discussion is a short list of goals/priorities, a list of possible implementation approaches, and maybe some next steps (testing, etc)", "group_id": 8448, "id": 813661}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303823110.3855481, "message": "thanks :)", "group_id": 8448, "id": 813672}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823331.017904, "message": "And another column for the XML of included elements", "group_id": 8448, "id": 813771}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823419.36924, "message": "No", "group_id": 8448, "id": 813805}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823714.49845, "message": "But that's what we are doing...", "group_id": 8448, "id": 813938}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303823446.1703441, "message": "yep", "group_id": 8448, "id": 813831}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823547.7417469, "message": "yes", "group_id": 8448, "id": 813868}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822696.480927, "message": "yeah", "group_id": 8448, "id": 813525}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822723.18571, "message": "aye", "group_id": 8448, "id": 813532}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822751.2892809, "message": "It might be quick if it were a serialised DOMElement...", "group_id": 8448, "id": 813540}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822790.1543281, "message": "In terms of core fields, it works", "group_id": 8448, "id": 813547}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822794.878871, "message": "@brend0 mentioned the issue of custom queries", "group_id": 8448, "id": 813549}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822809.304832, "message": "But extension fields that want to do complex things", "group_id": 8448, "id": 813552}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303822820.9863751, "message": "SSM and bilink-XML-field will have problems too", "group_id": 8448, "id": 813557}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303822901.1741011, "message": "I can't think of an example", "group_id": 8448, "id": 813586}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822919.3058801, "message": "The state of an entry is static upon save/edit", "group_id": 8448, "id": 813592}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823024.5724449, "message": "as far as I'm aware, SSM can elegantly handle the problem of blob generation", "group_id": 8448, "id": 813628}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822995.7397771, "message": "I'd like to think more on the complex field issue and how this may affect the blob implementation..", "group_id": 8448, "id": 813616}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823880.836947, "message": "I have no problem with looking at this simply as an extension", "group_id": 8448, "id": 813989}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303824450.98089, "message": "so I'm good with this as our initial step", "group_id": 8448, "id": 814151}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825070.837328, "message": "that's a pretty good point overall though", "group_id": 8448, "id": 814318}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825123.296983, "message": "I can't see any other reason not to do this", "group_id": 8448, "id": 814328}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826067.953218, "message": "I don't think so, it would be nice if we could support things like union ds a bit more out of the box", "group_id": 8448, "id": 814547}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303822975.084753, "message": "@brend0 did you have concerns?", "group_id": 8448, "id": 813607}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823694.9894891, "message": "hm", "group_id": 8448, "id": 813929}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823853.759048, "message": "concept of worker process will preclude some server environments", "group_id": 8448, "id": 813982}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824605.716083, "message": "I'll need to recreate a test case that I can distribute", "group_id": 8448, "id": 814194}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824707.8066289, "message": "yeah leaning that way", "group_id": 8448, "id": 814220}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824835.702852, "message": "which index?", "group_id": 8448, "id": 814249}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303824906.7170391, "message": "bye Allen", "group_id": 8448, "id": 814273}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824948.603915, "message": "Is there a possibility that a delegate fires before the autoloading of extensions occurs?", "group_id": 8448, "id": 814286}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824986.842746, "message": "The only difference I can see is when you update an extension", "group_id": 8448, "id": 814297}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825284.102401, "message": "so that it runs last, ya", "group_id": 8448, "id": 814365}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825475.326272, "message": "A high/medium/low would suffice for use cases we can consider", "group_id": 8448, "id": 814412}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826049.413928, "message": "Has it ever been a problem?", "group_id": 8448, "id": 814545}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823058.962543, "message": "Independent of one another", "group_id": 8448, "id": 813647}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823588.6144099, "message": "once an entry id is changed, the system simply removes the entry", "group_id": 8448, "id": 813879}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303823126.8012879, "message": "well you have to think, if we're going to go the way of storing XML in the database, why bother at all? Why not just make datasources save out static files like Cacheable Datasource extension does now?", "group_id": 8448, "id": 813680}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823218.572077, "message": "(I'm done. I want to elaborate on #2, but it's implementation specifics)", "group_id": 8448, "id": 813717}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303823637.4824231, "message": "and there's a flag raised to suggest that something has been changed?", "group_id": 8448, "id": 813900}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823651.210314, "message": "How would post-process work? Can you clarify?", "group_id": 8448, "id": 813912}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824098.148747, "message": "right, that's pretty good", "group_id": 8448, "id": 814062}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824253.3460791, "message": "heh, yeah I've heard that before", "group_id": 8448, "id": 814105}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824684.732832, "message": "Well transactions should be supported natively methinks", "group_id": 8448, "id": 814215}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825268.627291, "message": "something has to go first", "group_id": 8448, "id": 814356}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823689.291328, "message": "You could potentially have a \"stale\" flag on rows in indexes, and then a background process (some worker process) that chomps through them", "group_id": 8448, "id": 813926}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823081.6812379, "message": "Sorry!", "group_id": 8448, "id": 813659}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823093.0525861, "message": "ok", "group_id": 8448, "id": 813667}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823112.1146901, "message": "My goals:", "group_id": 8448, "id": 813674}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303823188.147311, "message": "storing the Entry XML in the database has no benefits that I can see, it's already filtered, sorted etc, so there no actual SQL except for selecting", "group_id": 8448, "id": 813700}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303823276.8197131, "message": "how so?", "group_id": 8448, "id": 813743}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824321.3528571, "message": "My gut is that few people use filtering on textareas!", "group_id": 8448, "id": 814121}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824477.0149601, "message": "hhaa", "group_id": 8448, "id": 814155}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824489.036267, "message": "that will be useful for the relationships chat to have that set", "group_id": 8448, "id": 814160}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824670.5224299, "message": "Sweet.", "group_id": 8448, "id": 814210}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303824883.1420829, "message": "they're being parsed anyways", "group_id": 8448, "id": 814260}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303824887.417876, "message": "by including them", "group_id": 8448, "id": 814262}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824901.768019, "message": "Cheers Allen!", "group_id": 8448, "id": 814271}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823913.2277241, "message": "a normalised DB structure is still required", "group_id": 8448, "id": 814000}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825156.3888781, "message": "4. Remove delegates from the database/file architecture altogether?", "group_id": 8448, "id": 814333}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825443.1042709, "message": "agreed", "group_id": 8448, "id": 814404}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826094.7619021, "message": "well that function aims to generate a completely unique id everytime it's called", "group_id": 8448, "id": 814553}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303823327.436264, "message": "Transactions are interesting, they may help extensions such as Entry Versions", "group_id": 8448, "id": 813768}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823492.668412, "message": "entry_id, title, author, date, included_elements_xml", "group_id": 8448, "id": 813851}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823842.1186931, "message": "I think I see this as being extension-able. Perhaps an extension that is bundled at core", "group_id": 8448, "id": 813976}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823911.7120271, "message": "Yeah that's what I was thinking", "group_id": 8448, "id": 813999}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823925.1777041, "message": "They'll be a good test of the delegate architecture", "group_id": 8448, "id": 814001}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823944.498225, "message": "Could we jump back to the InnoDB/MyISAM discussion?", "group_id": 8448, "id": 814008}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824014.836014, "message": "something that might be worth adding to that extension discussion is how best to deal with multiple values (like nick mentioned with the taglist before)", "group_id": 8448, "id": 814031}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824097.2033279, "message": "@brendan, I presume some fancy use of DISTINCT() and GROUP BY", "group_id": 8448, "id": 814061}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303824440.691608, "message": "we're setting a direction, not carving this in stone", "group_id": 8448, "id": 814149}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824551.4358211, "message": "for example 100,000 entries, the DS might take 0.5s to filter and limit 10 entries. But if a sort field is specified, it might shoot up to 3s", "group_id": 8448, "id": 814180}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825139.1680441, "message": "Add it to the goals list!", "group_id": 8448, "id": 814330}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825303.6997509, "message": "Subscription order isn;t something we've come across before with S2 so seems like an edge case", "group_id": 8448, "id": 814376}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826077.6448691, "message": "How might that help?", "group_id": 8448, "id": 814550}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823142.222173, "message": "1. Things that are queried frequently should be as static (files) as possible (config, structure etc)", "group_id": 8448, "id": 813685}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823172.0990281, "message": "2. Performant. Use fewer database queries than Symphony 2. Beat it in all head-to-head tests", "group_id": 8448, "id": 813692}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823430.789969, "message": "(I think)", "group_id": 8448, "id": 813816}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823980.886394, "message": "I think we're pretty much settled that RDMBs (MySQL) is here to stay", "group_id": 8448, "id": 814019}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824016.843436, "message": "- my Search Index extension (a custom table)", "group_id": 8448, "id": 814033}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824174.283639, "message": "2. The entire table is MyISAM. Could have cascading issues if all other tables are InnoDB. Would it need special treatment to manually implement cascading deletes?", "group_id": 8448, "id": 814074}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824240.9937179, "message": "My experience of full text is that it's... pretty crap", "group_id": 8448, "id": 814100}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824612.863168, "message": "Assign that to me", "group_id": 8448, "id": 814196}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824293.3384399, "message": "but ideally things should be able to live together, regardless of whatever table they are", "group_id": 8448, "id": 814117}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303824766.816503, "message": "well", "group_id": 8448, "id": 814234}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825217.857058, "message": "Or is that a hacky concept from S2?", "group_id": 8448, "id": 814347}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825269.0153079, "message": "So GRL would always be set to lowest priority", "group_id": 8448, "id": 814357}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825338.028085, "message": "(Are you making notes of this?) ;-)", "group_id": 8448, "id": 814381}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825414.3687129, "message": "I always hated that concept from S2's addElementToHead()", "group_id": 8448, "id": 814400}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825458.636337, "message": "My thought was that Brendan's example is the first and only time we've seen the need for this. Since it's an edge case we probably don't need something with very fine grained control", "group_id": 8448, "id": 814409}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825820.0875549, "message": "Hmm", "group_id": 8448, "id": 814490}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823223.6201029, "message": "ok", "group_id": 8448, "id": 813719}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823244.273567, "message": "@brend0: index tables allow dynamic sorting and filtering", "group_id": 8448, "id": 813728}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823961.3438649, "message": "sure", "group_id": 8448, "id": 814015}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303824908.7030339, "message": "have fun dudes", "group_id": 8448, "id": 814274}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825068.93226, "message": "But one we've got used to", "group_id": 8448, "id": 814317}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825347.5993221, "message": "kNormal, kHigh, kLow", "group_id": 8448, "id": 814385}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303823398.073323, "message": "which would be every column of every field that isSortable?", "group_id": 8448, "id": 813793}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823428.9944019, "message": "So it'd create a new index table for each DS", "group_id": 8448, "id": 813812}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823445.9960001, "message": "Creates a column in that table (index) for the sort field", "group_id": 8448, "id": 813830}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303823450.714591, "message": "And anothjer for each filter field", "group_id": 8448, "id": 813835}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303824432.0258231, "message": "okay", "group_id": 8448, "id": 814145}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824452.6403849, "message": "Goals, then", "group_id": 8448, "id": 814152}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824478.620337, "message": "Investigate how they can be used better, cascading relationships", "group_id": 8448, "id": 814156}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824512.288502, "message": "2. I'd like to investigate more the biggest performance thing I've found, which is the effect of adding ORDER BY to some queries", "group_id": 8448, "id": 814168}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826537.833734, "message": "But I see your point", "group_id": 8448, "id": 814635}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823436.7037029, "message": "correct", "group_id": 8448, "id": 813820}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823705.2310841, "message": "we're going into cache territory", "group_id": 8448, "id": 813934}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824383.6803401, "message": "regexp:word is pretty much identical to like %word%", "group_id": 8448, "id": 814135}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824559.7767429, "message": "I saw something the other day about using FORCE INDEX sometimes to try and change the way that mysql plans it's queries", "group_id": 8448, "id": 814181}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824682.322294, "message": "I've had to deal with merge conflicts from it", "group_id": 8448, "id": 814214}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303824797.9294729, "message": "fetching the delegates and saving/merging them on the fly should be as easy as reading out the index", "group_id": 8448, "id": 814241}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303824879.5392079, "message": "yeah", "group_id": 8448, "id": 814259}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303824888.789191, "message": "guys I have to go. Overstayed my welcome at this office", "group_id": 8448, "id": 814264}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824891.8287411, "message": "My guess is that caching them into a single file would be more performant than parsing all drivers", "group_id": 8448, "id": 814266}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823496.5834081, "message": "yes", "group_id": 8448, "id": 813853}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303823557.300931, "message": "or if an extension is updated and changes the structure", "group_id": 8448, "id": 813872}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823647.6783249, "message": "the DS is then responsible for generating the row if no entry ID is found. This has the problem of adding build overhead back to the DS, but less so than doing it every time as it does currently", "group_id": 8448, "id": 813906}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823901.3275909, "message": "the concepts touched here doesn't necessarily touch on the core aspects of the system", "group_id": 8448, "id": 813996}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824493.783637, "message": "true", "group_id": 8448, "id": 814161}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824617.2437949, "message": "sure", "group_id": 8448, "id": 814197}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824697.818295, "message": "When creating an entry", "group_id": 8448, "id": 814216}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824699.384249, "message": "but then again, it's that local s3 build, so I'll make sure it's the same with the repo", "group_id": 8448, "id": 814217}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823791.77528, "message": "anyway, technicality", "group_id": 8448, "id": 813962}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824462.112488, "message": "InnoDB to the max (TM)", "group_id": 8448, "id": 814154}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824570.4127209, "message": "Yep", "group_id": 8448, "id": 814186}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824582.792239, "message": "did the field that was being sorted have an index?", "group_id": 8448, "id": 814189}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824584.0244391, "message": "It'd about the order in which things are set in the SQL itself too, I think", "group_id": 8448, "id": 814190}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824784.82481, "message": "@nickdunn, well you start every Entry commit with a START TRANSACTION, and then if an error occurred, you could ROLLBACK the whole thing", "group_id": 8448, "id": 814239}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824796.472681, "message": "so I guess that doesn't really help at all with versioning :P", "group_id": 8448, "id": 814240}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303823699.5450039, "message": "I'm just wondering how a DS would know that an entry ID that should be there, isn't there, without running the query", "group_id": 8448, "id": 813931}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303823957.2911611, "message": "So unless we're deciding to ditch relational DB and going for some whacky alternative, i.e. XML DB, then we're more or less bound to the structures best fitted for relational DBs", "group_id": 8448, "id": 814013}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824036.357327, "message": "- Textarea (when not using regec)", "group_id": 8448, "id": 814039}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824037.9704621, "message": "regex*", "group_id": 8448, "id": 814040}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824044.289258, "message": "- XML Field (extends Textarea)", "group_id": 8448, "id": 814041}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824209.2232549, "message": "3. The _values_ are stored in yet another table (MyISAM) but the entry's existence is retained in the existing table (InnoDB)", "group_id": 8448, "id": 814086}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824266.5013881, "message": "I hadn't given much thought on a system level", "group_id": 8448, "id": 814109}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824007.824369, "message": "Having just searched the S2 core, with about 100 extensions installed, there are only three mentions of full-text search I could find", "group_id": 8448, "id": 814029}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824125.12696, "message": "So if we switched to InnoDB how would fulltext search on Textareas work? A few options:", "group_id": 8448, "id": 814066}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824136.37586, "message": "1. It doesn't, we resort to REGEXP and LIKE only", "group_id": 8448, "id": 814069}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824339.914809, "message": "I seldom do. Only for basic searching. And in those cases, regexp/like would suffice", "group_id": 8448, "id": 814126}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824367.5542819, "message": "i'd tend to agree", "group_id": 8448, "id": 814132}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824410.803596, "message": "I spent a long time faffing about with this for Search Index", "group_id": 8448, "id": 814141}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303824352.7447309, "message": "regexp would suffice IMHO", "group_id": 8448, "id": 814131}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824428.1608491, "message": "So I'm, inclined to suggest that all-InnoDB would be acceptable", "group_id": 8448, "id": 814142}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824518.217803, "message": "Which prevents use of indexes", "group_id": 8448, "id": 814169}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824647.5432169, "message": "something else for InnoDB is that it supports transactions, so if in built entry versions is something that we are considering", "group_id": 8448, "id": 814203}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824651.0204079, "message": "3. Is there anything in the db that can be put into files?", "group_id": 8448, "id": 814206}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824667.8354721, "message": "to my understanding they are", "group_id": 8448, "id": 814209}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303824720.614558, "message": "why are delegates saved in an extra index anyways if I may ask?", "group_id": 8448, "id": 814225}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825031.2128251, "message": "so we have an issue at the moment where the Global Resource Loader and Members subscribe to the same delegate, GRL goes first, and then Members, if Member's makes changes, GRL doesn't know/care about it because it's already done it's bit", "group_id": 8448, "id": 814305}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303825056.0143349, "message": "@nickdunn I wasn't sure if that was a reason or a sideeffect", "group_id": 8448, "id": 814311}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303825061.51864, "message": "very well if it's intended", "group_id": 8448, "id": 814312}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826759.1858809, "message": "In what way?", "group_id": 8448, "id": 814677}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825331.6431849, "message": "yeah, very small edge case, it's crossed my mind a couple of times, but this is the first time I've seen it actually occur, and even then it's an edge case", "group_id": 8448, "id": 814379}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303825349.539355, "message": "hmmm", "group_id": 8448, "id": 814386}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825365.538584, "message": "have to go in a couple of minutes", "group_id": 8448, "id": 814391}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825384.3490629, "message": "k = constant, I think", "group_id": 8448, "id": 814394}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825543.4408729, "message": "So I guess this would be an additional, optional, key in the array when subscribing to a delegate", "group_id": 8448, "id": 814440}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825679.279985, "message": "well a common complaint, and a thing we've all come across is dealing with merging data between live/dev environments", "group_id": 8448, "id": 814459}, {"user_id": 23057, "stars": [], "topic_id": 21333, "date_created": 1303824428.2690411, "message": "okay, can we say the direction is to go full innodb?", "group_id": 8448, "id": 814143}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824481.6605921, "message": "(1.)", "group_id": 8448, "id": 814158}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824567.5801921, "message": "I've read a few articles about it, need to dig deeper", "group_id": 8448, "id": 814185}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824595.8177271, "message": "a FORCE INDEX solved my contrived example, but not others", "group_id": 8448, "id": 814193}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824657.5893531, "message": "Delegates, are they already in XML?", "group_id": 8448, "id": 814208}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824712.196707, "message": "(backend or event)", "group_id": 8448, "id": 814222}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826255.3018301, "message": "my mind is trying to tie it in with REST, but I can't really make any intelligent reason at the moment", "group_id": 8448, "id": 814580}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825190.263783, "message": "I've not considered it before", "group_id": 8448, "id": 814339}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825735.300575, "message": "Which is relatively trivial", "group_id": 8448, "id": 814469}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825863.936183, "message": "e.g. Articles and Comments, how would you copy a few Articles and a few Comments", "group_id": 8448, "id": 814502}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826630.994559, "message": "A SBL that links to two sections", "group_id": 8448, "id": 814652}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826682.515017, "message": "Clever A+A. They thought of everything :-P", "group_id": 8448, "id": 814658}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824739.8805931, "message": "Not sure how transactions effect entry versioning. Isn't that more delegates and/or triggers?", "group_id": 8448, "id": 814229}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824748.941422, "message": "@phoque, how do you mean?", "group_id": 8448, "id": 814230}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303824776.478308, "message": "we're including/requiring the extension driver anyways", "group_id": 8448, "id": 814238}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824861.1333001, "message": "Oh, so build the delegate subscriptions on the fly (each page load) by parsing the enabled extension drivers, rather than caching the subscriptions when the extension is installed?", "group_id": 8448, "id": 814254}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824894.114553, "message": "I suppose so...", "group_id": 8448, "id": 814268}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824913.852808, "message": "cya!", "group_id": 8448, "id": 814275}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824922.833719, "message": "I was thinking it'd be less performant to load 100 extension drivers. But I guess they're loaded anyway aren't they", "group_id": 8448, "id": 814278}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824936.6006811, "message": "yep", "group_id": 8448, "id": 814284}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825024.17893, "message": "Subscriptions might be different between the installed one, and the pending new version. And you might only want the subscriptions to update when you explicitly update to the new version", "group_id": 8448, "id": 814302}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825043.070353, "message": "yeah that's true", "group_id": 8448, "id": 814309}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825096.90258, "message": "Yeah, it would get around the problem of developers having to always Enable an extension to re-parse subscriptions", "group_id": 8448, "id": 814321}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825185.1622159, "message": "@brendan your comment about delegate order is a good one", "group_id": 8448, "id": 814337}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825212.158565, "message": "Maybe there needs to be an optional priority, like with events", "group_id": 8448, "id": 814346}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825262.27514, "message": "not sure", "group_id": 8448, "id": 814355}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825330.7425251, "message": "And not specifying it, just use the default order", "group_id": 8448, "id": 814378}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824959.568882, "message": "nope", "group_id": 8448, "id": 814289}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303824961.7102339, "message": "A delegate that no extension cab subscribe to :P", "group_id": 8448, "id": 814290}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825053.8729811, "message": "having a merged file is an easy way to say 'these ones are it'", "group_id": 8448, "id": 814310}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825070.900723, "message": "Heh", "group_id": 8448, "id": 814319}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303825079.21172, "message": ":-)", "group_id": 8448, "id": 814320}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825303.9295311, "message": "and the opposite, execute_first", "group_id": 8448, "id": 814377}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303825367.256866, "message": "I'd suggest something more like a z-index", "group_id": 8448, "id": 814392}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303825389.322921, "message": "0 comes first, 100000 comes last", "group_id": 8448, "id": 814396}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826380.7966609, "message": "But it would feel cleaner for IDs to be sandboxed within a section", "group_id": 8448, "id": 814608}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824970.1169629, "message": "not currently", "group_id": 8448, "id": 814293}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303824994.3787701, "message": "there is the problem that two extensions can subscribe to the same delegate and the order at which they do is soley alphabetically", "group_id": 8448, "id": 814298}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825063.8114591, "message": "I suppose a side effect", "group_id": 8448, "id": 814315}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825285.41956, "message": "Maybe an \"execute_last\" flag", "group_id": 8448, "id": 814366}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303825479.6368361, "message": "ok", "group_id": 8448, "id": 814413}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825490.9242189, "message": "Hehe yeah me too, I used up 123, 666, 999...", "group_id": 8448, "id": 814417}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825713.1415479, "message": "For sure. Less about data, more about structure", "group_id": 8448, "id": 814464}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825845.8553891, "message": "No idea how related entries will work in this regard", "group_id": 8448, "id": 814497}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825916.9272289, "message": "why couldn't you copy the insert directly?", "group_id": 8448, "id": 814514}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825924.7129481, "message": "Creating an Entry object, rather than inserting an entry directly", "group_id": 8448, "id": 814519}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826522.0547681, "message": "You'd have to check in both to get the definitive list of all entries", "group_id": 8448, "id": 814633}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826648.0284679, "message": "(multi-select SBL)", "group_id": 8448, "id": 814655}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825168.982512, "message": "(or at least consider it...)", "group_id": 8448, "id": 814334}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825340.0940311, "message": "which is what events do now", "group_id": 8448, "id": 814382}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825351.269496, "message": "(why k I have no idea)", "group_id": 8448, "id": 814388}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825361.6889169, "message": "anyway, back on track?", "group_id": 8448, "id": 814389}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303825443.049226, "message": "yeah, because there was no standardized way of doing it", "group_id": 8448, "id": 814403}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825448.4530849, "message": "Hehe true", "group_id": 8448, "id": 814406}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303825449.8806331, "message": "I always filled in \"whatever... 234235?\"", "group_id": 8448, "id": 814407}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825465.0883651, "message": "there still isn't with numbers, it's just trying to 'guess higher' than someone else", "group_id": 8448, "id": 814411}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825698.3221271, "message": "I think of S3 we have minimized this at lot", "group_id": 8448, "id": 814463}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825802.288794, "message": "any thoughts?", "group_id": 8448, "id": 814483}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825945.409301, "message": "and the relation_id on the SBL field for instance was just referencing that hash, that would work wouldn' it?", "group_id": 8448, "id": 814524}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826434.2349651, "message": "News (id=1), Press release (id=2), Announcements (id=73012)", "group_id": 8448, "id": 814617}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825560.7518239, "message": "Have we got any more goals/actions that we want to add?", "group_id": 8448, "id": 814441}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825831.264122, "message": "Depends if you're looking to copy rows directly from the database itself", "group_id": 8448, "id": 814494}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825864.356606, "message": "but often the issue comes with related entries", "group_id": 8448, "id": 814504}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825870.1743431, "message": "if their IDs are out of sync", "group_id": 8448, "id": 814506}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826009.723542, "message": "Would we miss numeric IDs?", "group_id": 8448, "id": 814539}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826199.9239981, "message": "so yeah, bit of a radical idea, and like you said, not sure how much it would help", "group_id": 8448, "id": 814565}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303826240.2514181, "message": "but integers are much better indices, aren't they?", "group_id": 8448, "id": 814574}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826258.595365, "message": "Performance hit of indexing strings?", "group_id": 8448, "id": 814582}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826271.2687769, "message": "no idea", "group_id": 8448, "id": 814584}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826294.973897, "message": "Not sure if MySQL has one also", "group_id": 8448, "id": 814590}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826334.516423, "message": "I know I tend to \"trust\" consecutive numbers more than strings", "group_id": 8448, "id": 814598}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826337.2801011, "message": "It just feels cleaner", "group_id": 8448, "id": 814599}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826352.0580521, "message": "Habit, I suppose", "group_id": 8448, "id": 814604}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825720.1044419, "message": "and now it should really be just entries that would need 'syncing'", "group_id": 8448, "id": 814467}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825731.924243, "message": "but I wonder if there's a way to eliminate it altogether", "group_id": 8448, "id": 814468}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825742.9375391, "message": "With a decent import/export extension", "group_id": 8448, "id": 814470}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825786.6657331, "message": "the only idea i had was to forgo auto_increment columns, and use something like entry hash as an ID, but I'm not sure how that would work realistically", "group_id": 8448, "id": 814479}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825901.1876199, "message": "well if the ID was assigned on entry creation, perhaps by uniqid() or something", "group_id": 8448, "id": 814512}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825906.308733, "message": "But an entry export/import would probably do it", "group_id": 8448, "id": 814513}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826024.6293809, "message": "What about the biggie, entry IDs across all sections", "group_id": 8448, "id": 814541}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826343.3387041, "message": "Whether it is or isn;'t", "group_id": 8448, "id": 814602}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826558.601362, "message": "I'm trying to think of the benefits of global entry IDs", "group_id": 8448, "id": 814638}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826624.111537, "message": "well for s3 that's more, entry 13 in section news", "group_id": 8448, "id": 814649}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826852.341604, "message": "with sections and views", "group_id": 8448, "id": 814698}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826957.212642, "message": "eh, I don't really like the idea from a UI perspective though", "group_id": 8448, "id": 814710}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827198.4162979, "message": "If we could get the list of queries, that'd be sufficient short-term", "group_id": 8448, "id": 814765}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827210.645458, "message": "Yeah, me too.", "group_id": 8448, "id": 814769}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827226.676465, "message": "Think I wrote them to a text file", "group_id": 8448, "id": 814774}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825850.318924, "message": "well it's normally pretty good", "group_id": 8448, "id": 814499}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303825922.919282, "message": "if the id for an entry was a hash", "group_id": 8448, "id": 814518}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825936.245364, "message": "I suppose you could...", "group_id": 8448, "id": 814522}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826003.1232581, "message": "Salted with the root URL", "group_id": 8448, "id": 814535}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825895.0624001, "message": "You couldn't do it by copying INSERT queries directly on the database", "group_id": 8448, "id": 814509}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303825963.4404249, "message": "Provided the hash was unique across both installs too...", "group_id": 8448, "id": 814527}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826034.744848, "message": "Would it make more sense for entry IDs to be per-section?", "group_id": 8448, "id": 814543}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826239.796138, "message": "Yep", "group_id": 8448, "id": 814573}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826248.253828, "message": "Yeah that was my next question", "group_id": 8448, "id": 814577}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826288.848774, "message": "MS SQL server has GUID data type that is the same thing, oiptimised for IDs", "group_id": 8448, "id": 814589}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826031.702836, "message": "http://php.net/manual/en/function.uniqid.php", "group_id": 8448, "id": 814542}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826411.739609, "message": "On one site we have, where we have about 50,000 comment entries... someone then goes to create a new category for a blog:", "group_id": 8448, "id": 814611}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826206.1863749, "message": "but pretty much the concept that all entry id's are now actually hashes", "group_id": 8448, "id": 814568}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826510.738234, "message": "If you had a section with two optional fields only", "group_id": 8448, "id": 814632}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826607.5406129, "message": "entry ID 13 means, entry 13", "group_id": 8448, "id": 814645}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826611.5480809, "message": "not entry 13 in section 5", "group_id": 8448, "id": 814646}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826807.1417179, "message": "but I'm sure michael or nils could find one :P", "group_id": 8448, "id": 814686}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827079.5627699, "message": "yeah I am", "group_id": 8448, "id": 814734}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826473.279454, "message": "which would almost do away with the idea of a entries table then wouldn't it?", "group_id": 8448, "id": 814627}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826564.1571929, "message": "my gut is to just leave this how it is", "group_id": 8448, "id": 814639}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826565.4080551, "message": "and that an import/export extension could do this logic", "group_id": 8448, "id": 814640}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826715.2998371, "message": "sections have a hash to see if they need to be updated, views have a hash as well", "group_id": 8448, "id": 814666}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826966.638257, "message": "a URL that's like /symphony/section/234235412fdajaklsjf32 means nothing", "group_id": 8448, "id": 814715}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827062.2871079, "message": "scratch the idea", "group_id": 8448, "id": 814730}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827104.138377, "message": "remembering that s3 currently has no profiling", "group_id": 8448, "id": 814741}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826449.3529279, "message": "I know it doesn't _matter_", "group_id": 8448, "id": 814624}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826863.5010381, "message": "we have the same issue you touched on before with delegates and an updated extension", "group_id": 8448, "id": 814700}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826922.96365, "message": "so it prompts the 'sync section' logic", "group_id": 8448, "id": 814709}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826498.7411721, "message": "I'm not sure, how would you know how many entries existed in a section?", "group_id": 8448, "id": 814630}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826701.5808899, "message": "Overall: PERFORMANCE. S3 should use fewer queries than S2 and perform better\n\n1. InnoDB for core tables, investigate cascade\n2. Relationships should be handled by the database (refer to Relationships discussion)\n3. Transactions should be used where appropriate\n4. Investigate impact of ORDER BY, FORCE INDEX on performance\n5. OT: Delegate subscriptions, ditch the compiled index, determine dynamically from drivers\n6. OT: Delegate order, allow a execute_first and/or execute_last flag", "group_id": 8448, "id": 814661}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827072.184936, "message": "Happy with that?", "group_id": 8448, "id": 814733}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826585.3391011, "message": "One is programmatic, that with the API you can look up given just an entry ID and get an Entry object back", "group_id": 8448, "id": 814642}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826589.2117, "message": "Without knowing the section", "group_id": 8448, "id": 814643}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826602.5342491, "message": "it's also a little cleaner", "group_id": 8448, "id": 814644}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826621.5248311, "message": "Yep, true", "group_id": 8448, "id": 814648}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826624.231379, "message": "Another example", "group_id": 8448, "id": 814650}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826636.8786509, "message": "Output param is a list of IDs", "group_id": 8448, "id": 814654}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826658.074682, "message": "heh, yeah good point", "group_id": 8448, "id": 814656}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826659.277868, "message": "You'd have no way of knowing which section they came from", "group_id": 8448, "id": 814657}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826688.6049991, "message": ":P", "group_id": 8448, "id": 814659}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826690.5354049, "message": "Luck!!", "group_id": 8448, "id": 814660}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826702.048913, "message": "I suppose something that may be for the idea of hashes is that everything else uses them now", "group_id": 8448, "id": 814662}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826733.571702, "message": "#7 consider the indexing/caching of entries in blobs, or variations thereof", "group_id": 8448, "id": 814670}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826734.6616321, "message": "something that hasn't been considered in S3 yet at all is that by referencing things by handles", "group_id": 8448, "id": 814671}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826822.5497961, "message": "Or sections?", "group_id": 8448, "id": 814691}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826837.478842, "message": "sections/views/datasources/events", "group_id": 8448, "id": 814695}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826894.424067, "message": "afaik, and this could be outdated, the way this is handled with sections is the hash", "group_id": 8448, "id": 814703}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826755.2360289, "message": "in a multilingual site, this could fall down as the UTF-8 characters get stripped from the handle", "group_id": 8448, "id": 814676}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826794.7750781, "message": "well I don't know of a specific example off the top", "group_id": 8448, "id": 814685}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826820.609426, "message": "You mean looking up entries by handles?", "group_id": 8448, "id": 814690}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826904.385056, "message": "Right", "group_id": 8448, "id": 814705}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826980.5867839, "message": "an API that's Section->get(2342353223jklfjdasfja111) also means little", "group_id": 8448, "id": 814716}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827013.732084, "message": "anyway, I've gotta run", "group_id": 8448, "id": 814721}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827098.3162789, "message": "one thing that we need to look at is how much the database is actually taking on s3", "group_id": 8448, "id": 814739}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303826917.6856661, "message": "so if you text edit your section to add a new field, the hash of that section won't match the generated hash that was saved with the section", "group_id": 8448, "id": 814707}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303826921.8006411, "message": "I don't know much about this in S3 but makes sense. So at the moment handles are used in the URL to view, say, a section", "group_id": 8448, "id": 814708}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827110.6439519, "message": "True", "group_id": 8448, "id": 814742}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827127.3117039, "message": ":P", "group_id": 8448, "id": 814746}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827018.348623, "message": "Yeah, nasty", "group_id": 8448, "id": 814722}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827029.158787, "message": "Remember we also wanted to make the backend RESTful", "group_id": 8448, "id": 814723}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827037.260072, "message": "/symphony/entries/articles/", "group_id": 8448, "id": 814725}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827039.1917751, "message": "yep", "group_id": 8448, "id": 814726}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827048.2583859, "message": "Rather than /symphony/entries/83583853n5c3c535c/", "group_id": 8448, "id": 814727}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827052.2888401, "message": ":P", "group_id": 8448, "id": 814728}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827057.892803, "message": "yeah", "group_id": 8448, "id": 814729}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827063.5398951, "message": "So:", "group_id": 8448, "id": 814731}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827226.4837949, "message": "perhaps we need a profiling chat :)", "group_id": 8448, "id": 814773}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827229.1165431, "message": "Yum.", "group_id": 8448, "id": 814775}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827066.824302, "message": "Overall: PERFORMANCE. S3 should use fewer queries than S2 and perform better\n\n1. InnoDB for core tables, investigate cascade\n2. Relationships should be handled by the database (refer to Relationships discussion)\n3. Transactions should be used where appropriate\n4. Investigate impact of ORDER BY, FORCE INDEX on performance\n5. Consider an extension to cache/index entries for optimal retrieval (use of blobs or otherwise)\n\n6. OT: Delegate subscriptions, ditch the compiled index, determine dynamically from drivers\n7. OT: Delegate order, allow a execute_first and/or execute_last flag", "group_id": 8448, "id": 814732}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827081.230093, "message": "@phoque?", "group_id": 8448, "id": 814735}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303827084.3965361, "message": "that made my job easier, thanks", "group_id": 8448, "id": 814736}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827124.1263809, "message": "Can you add profiling easily?", "group_id": 8448, "id": 814745}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827167.5222421, "message": "well it's being completely stripped from what I remember as A wanted to look at doing it a different way", "group_id": 8448, "id": 814753}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827242.4538209, "message": "When we get into the implementation specifics", "group_id": 8448, "id": 814780}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827255.2218249, "message": "I've got to get back to work too", "group_id": 8448, "id": 814783}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827262.7070789, "message": "ttfn!", "group_id": 8448, "id": 814785}, {"user_id": 7384, "stars": [], "topic_id": 21333, "date_created": 1303827277.5494871, "message": "Thanks all", "group_id": 8448, "id": 814790}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827115.2323971, "message": "so we really don't know where the time is anymore aside from webgrind", "group_id": 8448, "id": 814744}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827140.7835331, "message": "i'd hate to invest a month into a cache/index idea that provides little gain", "group_id": 8448, "id": 814747}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827161.998354, "message": "Indeed. That's why I suggested extensionising \u2014 for high performance sites it would be valuable", "group_id": 8448, "id": 814751}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827166.9757409, "message": "high traffic*", "group_id": 8448, "id": 814752}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827172.6775119, "message": "during dev we just used webgrind", "group_id": 8448, "id": 814755}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827172.8695109, "message": "Ah right", "group_id": 8448, "id": 814756}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827181.0035429, "message": "Does it track a list of queries?", "group_id": 8448, "id": 814760}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827189.759743, "message": "nah", "group_id": 8448, "id": 814761}, {"user_id": 23210, "stars": [], "topic_id": 21333, "date_created": 1303827232.9146709, "message": "Sure", "group_id": 8448, "id": 814777}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303827371.994668, "message": "sorry for just reading, not typing guys", "group_id": 8448, "id": 814809}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827204.9143081, "message": "I had to hack the database class to log every query to get an idea of what was happening", "group_id": 8448, "id": 814768}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827250.8206511, "message": "ok gents, I'm out", "group_id": 8448, "id": 814781}, {"user_id": 27420, "stars": [], "topic_id": 21333, "date_created": 1303827258.1869569, "message": "good chat, have a good day/night!", "group_id": 8448, "id": 814784}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303827378.0476379, "message": "but yeah, your list sounds good", "group_id": 8448, "id": 814816}, {"user_id": 21932, "stars": [], "topic_id": 21333, "date_created": 1303827378.9697051, "message": ":-)", "group_id": 8448, "id": 814817}] |