*** Joins: daryn (~daryn@h188.150.16.98.dynamic.ip.windstream.net) | 00:20 | |
*** Quits: siebrand (~beis@sm.xs4all.nl) () | 01:31 | |
*** Joins: giallu (~giallu@fedora/giallu) | 02:00 | |
CIA-100 | Mantisbt: daryn * rd5a59a4cdebb /core/collapse_api.php: Fix missing space causing validation error. | 02:05 |
---|---|---|
CIA-100 | Mantisbt: daryn * r5dec982e75a1 /core/collapse_api.php: Remove extra \". | 02:05 |
CIA-100 | Mantisbt: daryn * r6083666774c4 /core/html_api.php: Add missing closing tags. | 02:06 |
CIA-100 | Mantisbt: daryn * re087425c4212 / (4 files in 4 dirs): Bug #11826 - Remove inline javascript for bug-jump field and put it in common.js. Add | 02:06 |
foobot | Bug 11826 - dhx - open - assigned | 02:06 |
foobot | Remove all inline JavaScript from MantisBT (use external scripts instead) - http://www.mantisbt.org/bugs/view.php?id=11826 | 02:06 |
CIA-100 | Mantisbt: daryn * r94c2e872d0c0 /core/html_api.php: Use class rather than id for the menu links. They may appear more than once | 02:06 |
CIA-100 | Mantisbt: daryn * r6b5e037ced1d / (4 files in 4 dirs): Bug #11826, Bug #11995, Fix invalid html in the view all bug filter. Add divs, classes and id's | 02:06 |
foobot | Bug 11995 - brandonjackson - fixed - assigned | 02:06 |
CIA-100 | Mantisbt: daryn * rc0d2239266ed / (core/print_api.php css/default.css): Move styles for recently-visited into css. remove html style elements. | 02:06 |
CIA-100 | Mantisbt: daryn * r99a9d10435e7 /view_all_inc.php: remove border. It is not a valid tr attribute. | 02:06 |
foobot | Add CSS IDs to html elements for styling and javascript access. - http://www.mantisbt.org/bugs/view.php?id=11995 | 02:06 |
*** Quits: daryn (~daryn@h188.150.16.98.dynamic.ip.windstream.net) (Quit: Ex-Chat) | 02:13 | |
*** Joins: Cupertino (~Cupez@62-177-158-122.dsl.bbeyond.nl) | 02:29 | |
*** Quits: Cupertino (~Cupez@62-177-158-122.dsl.bbeyond.nl) (Changing host) | 02:29 | |
*** Joins: Cupertino (~Cupez@unaffiliated/cupertino) | 02:29 | |
*** Joins: Github (~Github@sh1-ext.rs.github.com) | 02:30 | |
Github | mantisbt: master Daryn Warriner * d5a59a4 (1 files in 1 dirs): Fix missing space causing validation error. | 02:30 |
Github | mantisbt: master Daryn Warriner * 5dec982 (1 files in 1 dirs): Remove extra \". | 02:30 |
Github | mantisbt: master Daryn Warriner * 94c2e87 (1 files in 1 dirs): Use class rather than id for the menu links. They may appear more than once ... | 02:30 |
Github | mantisbt: master Daryn Warriner * 6083666 (1 files in 1 dirs): Add missing closing tags. | 02:30 |
Github | mantisbt: master Daryn Warriner * e087425 (4 files in 4 dirs): Bug #11826 - Remove inline javascript for bug-jump field and put it in common.js. Add ... | 02:30 |
foobot | Bug 11826 - dhx - open - assigned | 02:30 |
Github | mantisbt: master Daryn Warriner * c0d2239 (2 files in 2 dirs): Move styles for recently-visited into css. remove html style elements. | 02:30 |
Github | mantisbt: master Daryn Warriner * 99a9d10 (1 files in 1 dirs): remove border. It is not a valid tr attribute. | 02:30 |
Github | mantisbt: master Daryn Warriner * 6b5e037 (4 files in 4 dirs): Bug #11826, Bug #11995, Fix invalid html in the view all bug filter. Add divs, classes and id's ... | 02:30 |
Github | mantisbt: master commits 0e504c8...6b5e037 - http://bit.ly/angOFM | 02:30 |
foobot | Remove all inline JavaScript from MantisBT (use external scripts instead) - http://www.mantisbt.org/bugs/view.php?id=11826 | 02:30 |
*** Parts: Github (~Github@sh1-ext.rs.github.com) | 02:30 | |
foobot | Bug 11995 - brandonjackson - fixed - assigned | 02:30 |
foobot | Add CSS IDs to html elements for styling and javascript access. - http://www.mantisbt.org/bugs/view.php?id=11995 | 02:30 |
*** Quits: Cupertino (~Cupez@unaffiliated/cupertino) (Client Quit) | 02:33 | |
*** Quits: giallu (~giallu@fedora/giallu) (Ping timeout: 265 seconds) | 02:33 | |
*** Joins: Cupertino (~Cupez@unaffiliated/cupertino) | 02:35 | |
*** Joins: giallu (~giallu@fedora/giallu) | 02:46 | |
*** Joins: davidinc_ (d5374b7b@gateway/web/freenode/ip.213.55.75.123) | 02:54 | |
*** Quits: giallu (~giallu@fedora/giallu) (Ping timeout: 240 seconds) | 03:11 | |
*** Joins: ynyr (~ynyr@cpc1-mapp5-0-0-cust769.12-4.cable.virginmedia.com) | 03:53 | |
*** Joins: Rixie (~Rixie@0x4dd7390e.adsl.cybercity.dk) | 04:01 | |
davidinc_ | hi | 04:31 |
davidinc_ | still don't have an answer about ManTweet plugin? | 04:31 |
*** Joins: istvanb (d917e473@gateway/web/freenode/ip.217.23.228.115) | 04:40 | |
istvanb | hello | 04:40 |
istvanb | anybody who has experience with the summary graphs? | 04:40 |
istvanb | I have some global categories (like: bug, feature etc) and also some custom made based on project (like: request credentials, request new users etc). | 04:42 |
istvanb | When I go to the summary page categories subpage, only these custom categories show up and the global categories are not | 04:42 |
*** Joins: Al_Chapone (~chatzilla@ATuileries-152-1-23-93.w82-123.abo.wanadoo.fr) | 05:21 | |
*** Quits: Al_Chapone (~chatzilla@ATuileries-152-1-23-93.w82-123.abo.wanadoo.fr) (Quit: ChatZilla 0.9.86 [Firefox 3.6.8/20100722155716]) | 06:01 | |
*** Joins: fanno (~Morten@90.184.93.233) | 06:01 | |
*** Quits: istvanb (d917e473@gateway/web/freenode/ip.217.23.228.115) (Quit: Page closed) | 06:46 | |
*** Joins: josephross_ (~josephros@cpc1-nrwh2-0-0-cust886.4-4.cable.virginmedia.com) | 06:57 | |
josephross_ | I have a question if anyone is around | 06:59 |
josephross_ | i have noticed some people have a irc mantis announcement feed | 06:59 |
josephross_ | and was wondering how this was done | 06:59 |
josephross_ | ive looked at the rss feed but it seems to only give the description | 07:00 |
josephross_ | not new events | 07:00 |
*** Quits: davidinc_ (d5374b7b@gateway/web/freenode/ip.213.55.75.123) (Ping timeout: 252 seconds) | 07:34 | |
*** Joins: Al_Chapone (~chatzilla@ATuileries-152-1-23-93.w82-123.abo.wanadoo.fr) | 08:12 | |
*** Joins: daryn (~daryn@h158.249.190.173.static.ip.windstream.net) | 08:57 | |
*** Joins: giallu (~giallu@fedora/giallu) | 09:07 | |
*** Quits: fanno (~Morten@90.184.93.233) (Read error: Connection reset by peer) | 09:08 | |
*** Joins: davidinc__ (d5374b7b@gateway/web/freenode/ip.213.55.75.123) | 09:32 | |
*** Quits: dhx_m (~anonymous@c122-107-170-247.eburwd5.vic.optusnet.com.au) (Ping timeout: 276 seconds) | 10:13 | |
*** Quits: josephross_ (~josephros@cpc1-nrwh2-0-0-cust886.4-4.cable.virginmedia.com) (Quit: www.vces.net) | 10:32 | |
*** Joins: fanno (~b3g@193.3.95.240) | 10:41 | |
*** Quits: Cupertino (~Cupez@unaffiliated/cupertino) (Quit: I give up...) | 10:42 | |
*** Quits: davidinc__ (d5374b7b@gateway/web/freenode/ip.213.55.75.123) (Ping timeout: 252 seconds) | 11:49 | |
*** Quits: Al_Chapone (~chatzilla@ATuileries-152-1-23-93.w82-123.abo.wanadoo.fr) (Quit: ChatZilla 0.9.86 [Firefox 3.6.8/20100722155716]) | 12:06 | |
*** Parts: Rixie (~Rixie@0x4dd7390e.adsl.cybercity.dk) | 13:09 | |
*** Quits: micahg (~micah@ubuntu/member/micahg) (Read error: Operation timed out) | 13:20 | |
*** Joins: siebrand (~beis@sm.xs4all.nl) | 13:26 | |
*** Joins: micahg (~micah@ubuntu/member/micahg) | 14:36 | |
CIA-100 | Mantisbt: daryn * r839f1d68bc77 / (7 files in 5 dirs): Fix #6626 - Add text area custom field type. Add column to handle long | 16:10 |
*** Joins: paulr (~IceChat09@2001:470:9310:aaaa:984a:9ef5:e044:eebc) | 16:12 | |
* paulr pokes daryn | 16:12 | |
daryn | :) | 16:12 |
daryn | i was tired of waiting | 16:12 |
paulr | I do want to revert that and make sure we're doing something that works on all our db's | 16:13 |
daryn | it shouldn't be a problem at all | 16:13 |
paulr | well, we are adding 'text' why? | 16:13 |
daryn | it's the same as every other text field in the db. | 16:14 |
paulr | yes, which I think might cause problems having it in that table | 16:14 |
daryn | no it wont | 16:14 |
paulr | you've tested mssql? | 16:14 |
daryn | no | 16:15 |
daryn | but we've been talking about this for over a year now...maybe two and still no resolution | 16:15 |
paulr | sure | 16:15 |
paulr | but randomnly dumping a field in without testing it isn't a solution | 16:16 |
daryn | it isn't random | 16:16 |
paulr | sure it is - you've not tested it on mssql | 16:16 |
daryn | mssql bah | 16:16 |
paulr | personally | 16:16 |
paulr | if we have a data type mssql supports | 16:16 |
paulr | we dont need text/value | 16:16 |
paulr | and can simplify that code | 16:17 |
paulr | alternatively, we probably need a seperate table | 16:17 |
paulr | like we do with bugtext stuff | 16:17 |
daryn | why would it need a different table? | 16:17 |
giallu | not that I care about mssql but | 16:18 |
giallu | if we're breaking it that's not good. the question is | 16:18 |
giallu | are we breaking it? | 16:18 |
paulr | well | 16:19 |
daryn | it shouldn't be breaking it. the only issue would be does it use too much disk space to have null value text fields | 16:19 |
paulr | iirc, reason we wanted a seperate field for long text was for db's like mssql... | 16:19 |
paulr | for mysql we could just use the existing value field | 16:19 |
paulr | and change the data type | 16:19 |
paulr | same goes for postgres | 16:19 |
giallu | paulr, that was what, 5 years ago? | 16:20 |
giallu | maybe mssql is better now | 16:20 |
paulr | my point is | 16:20 |
paulr | adding an extra column to a db table to support something in mssql | 16:20 |
paulr | without testing it in mssql or looking at what mssql now supports | 16:20 |
paulr | is a bit silly ;) | 16:20 |
giallu | yeah, I'd much prefer we drop mssql :) | 16:21 |
paulr | so either we revert that commit and test mssql | 16:21 |
paulr | or we keep that commit | 16:21 |
paulr | test mssql and decide if we can go back to just having one column | 16:21 |
paulr | and run a migration script on the data | 16:21 |
daryn | yes but i've asked this exact question on here multiple times and you've given me different answers. First I suggested we just change the field but you didn't want to do that. Then i suggested either a new table or a new field and couldn't get a straight answer on that. I don't have an mssql system and I'm not going to build one which is why i've asked paulr on multiple occasions to confirm this issue for me | 16:22 |
daryn | this is a fairly frequently requested feature and this solution seems reasonable to me. | 16:23 |
giallu | daryn, see. you've got the worng medium. avoid asking here about design decisions | 16:23 |
giallu | mailing list has memory :) | 16:23 |
daryn | we had a discussion on the mailing list too I believe. that was quite some time back though. | 16:23 |
giallu | wow. I forgot about it... | 16:24 |
giallu | and it's not we have that much discussions there | 16:24 |
paulr | i'll revert that commit locally | 16:27 |
paulr | fix the mssql stuff that dhx broke | 16:27 |
paulr | then reapply the commit | 16:27 |
daryn | sounds fabulous to me. my evil plan appears to be working | 16:27 |
paulr | heh | 16:27 |
paulr | I just wish out installer actaully worked ;p | 16:29 |
daryn | works for me...what's the issue? | 16:29 |
giallu | daryn, anyway, you have all my sympathy. this is the kind of things that spoiled my willingness to devote time on stuff | 16:30 |
paulr | giallu: well, it just requires testing | 16:31 |
daryn | :) well, i figured i'd get a rise out of paulr by just committing it. surprised it took him 2 minutes to respond | 16:31 |
paulr | and to commit db schema changes without testing | 16:31 |
paulr | screws us over as we can't reverse them | 16:31 |
paulr | i.e. to reverse this commit now if we decide we dont need it | 16:32 |
paulr | we need to migrate data to old column | 16:32 |
paulr | then delete the new column | 16:32 |
paulr | or just delete the new column (and hope no one starts following trunk) | 16:33 |
daryn | that should only be true if we released with it in and then reversed it. | 16:33 |
paulr | dev's running test builds will get the schema change | 16:33 |
paulr | and have their config updated | 16:33 |
paulr | we can just delete the field | 16:33 |
paulr | without caring about data (on basis it's not in a release) | 16:33 |
paulr | but we can't delete schema changes back out | 16:34 |
daryn | mm..why not? | 16:34 |
paulr | when you update your db, it'll update config | 16:34 |
paulr | so anyone running test instances | 16:34 |
paulr | or dev's | 16:34 |
daryn | right but test instances should be fresh every time anyway | 16:35 |
paulr | sigh | 16:48 |
daryn | paulr: yes? | 16:51 |
paulr | array(6) { [0]=> string(16) "database_version" [1]=> string(1) "0" [2]=> string(1) "0" [3]=> string(1) "1" [4]=> string(2) "64" [5]=> string(2) "90" } | 16:55 |
*** Quits: fanno (~b3g@193.3.95.240) (Read error: Connection reset by peer) | 16:55 | |
paulr | spot the flaw | 16:55 |
paulr | daryn: seems adodb is broken :P | 17:02 |
paulr | there's a surprise :) | 17:02 |
daryn | what's broken? | 17:02 |
paulr | the flaw | 17:02 |
paulr | [10:02.28] <paulr> dary | 17:02 |
paulr | array(6) { [0]=> string(16) "database_version" [1]=> string(1) "0" [2]=> string(1) "0" [3]=> string(1) "1" [4]=> string(2) "64" [5]=> string(2) "90" } | 17:02 |
paulr | should be field names | 17:02 |
paulr | not int's ;) | 17:02 |
daryn | ah, yes we've run into that before | 17:03 |
daryn | i think i switched from mysql to mysqli and it stopped doing that | 17:03 |
daryn | for mysql was actually sending both numeric indexes and field names | 17:04 |
daryn | So here appears to be the bad news: The text in row option will be removed in a future version of SQL Server. Avoid using this option in new development work, and plan to modify applications that currently use text in row. We recommend that you store large data by using the varchar(max), nvarchar(max), or varbinary(max) data types. To control in-row and out-of-row behavior of these data types, use the large value types out of r | 17:10 |
daryn | ow option. | 17:10 |
paulr | yes, I know | 17:14 |
daryn | grr... | 17:15 |
paulr | ? | 17:15 |
daryn | just frustrating | 17:15 |
paulr | why? :) | 17:15 |
daryn | because i've asked this question several times and not gotten that answer. | 17:16 |
paulr | we've pasted that text into here before ;p | 17:16 |
daryn | i don't recall that one but whatever | 17:17 |
paulr | paul__ntext, text, and image data types will be removed in a future version of Microsoft SQL Server. Avoid using these data types in new development work, and plan to modify applications that currently use them. Use nvarchar(max), varchar(max), and varbinary(max) instead.20:41 | 17:17 |
paulr | darynyeah, i'm looking at that too... | 17:17 |
paulr | :) | 17:17 |
daryn | ok | 17:18 |
paulr | anyway, issue is more, I can't get mssql to work at all atm | 17:18 |
paulr | heh | 17:18 |
paulr | we also need to decide if we support db2/oracle | 17:18 |
paulr | as | 17:18 |
daryn | doesn't matter for this issue really as we'll have a bunch of fields to change if that's the case | 17:18 |
paulr | i've never managed to either of those db's set up in a way to dev with | 17:18 |
paulr | tbh, i'm all for supporting just: a) mssql, b) pgsql, c) mysql d) sqlite | 17:19 |
daryn | even the config value field is a longtext | 17:19 |
paulr | (with sqlite being more for 'dev') | 17:19 |
paulr | but the reason I dont like your commit is | 17:19 |
paulr | the reason youv'e added it is because the custom field value is too short | 17:19 |
daryn | right i get that but that's what i tried to fix before and you told me not to do that | 17:20 |
paulr | if we conclude that we dont care about db2/oracle as no dev's can actually get it to run | 17:20 |
daryn | making it one long field | 17:20 |
paulr | yes | 17:20 |
paulr | as converting varchar->text - with text you couldn't use it in same way in where clauses | 17:20 |
daryn | so you're saying use varchar(max) for the value field and only have one field? | 17:23 |
paulr | actually, i'm saying we need to work out wtf we support | 17:24 |
paulr | :) | 17:24 |
paulr | take db2 | 17:24 |
paulr | as far as I understand | 17:24 |
paulr | you can do varchar/long varchar up to 8000 chars or something | 17:24 |
paulr | then need to use CLOB's | 17:24 |
paulr | now you see | 17:26 |
paulr | XL goes to 'TEXT' | 17:26 |
daryn | right, and we have a bunch of 'XL' | 17:27 |
paulr | at least some versions of mssql doesn't allow 'text' columns in a where clause or a group by clause | 17:27 |
daryn | so this one field is not the issue | 17:27 |
paulr | so | 17:29 |
daryn | right..but text is going away in mssql anyway so who cares. we still have to figure out what to do with all the 'XL' fields | 17:29 |
paulr | yes | 17:29 |
paulr | but your only duplicating the value/text columns in the custom field table to deal with the mssql datatype issue | 17:29 |
paulr | and I suspect your commit has probably just broken some sort of filtering in mssql | 17:30 |
paulr | (or at least potentially has) | 17:30 |
paulr | Personally, I want to drop db2/oracle support as afaict, NONE of the core dev's run it | 17:31 |
daryn | i'm ok with that | 17:31 |
paulr | and so far i've personally failed to install db2/oracle on windows | 17:31 |
daryn | not that it matters | 17:31 |
paulr | and get it to work properly | 17:31 |
paulr | i'd then like to drop 'mssql' support | 17:32 |
paulr | and add one or both of odbc_mssql and sqlsrv | 17:32 |
paulr | and to do the above, we need to drop adodb | 17:33 |
paulr | as people don't like us having to patch adodb | 17:33 |
daryn | k. so how long is it going to take you to do that? | 17:36 |
paulr | well, question is whether everyone agrees on the db2/oracle thing | 17:37 |
paulr | for now at least | 17:37 |
daryn | so...either way we need to not use text. if we keep mssql, it's deprecated. If we don't use mssql we don't need it, right? | 17:39 |
paulr | db2/oracle I think need it | 17:39 |
daryn | oh good grief | 17:39 |
paulr | db2 has 8000 char limit on varchar | 17:39 |
daryn | ew...looks like 4000 | 17:41 |
paulr | php db2_* functions are part of pecl | 17:43 |
paulr | Number of releases: 32 | 17:46 |
paulr | Total downloads: 54,240 | 17:46 |
paulr | so not that many people downloading it from pecl | 17:47 |
daryn | you've got no argument from me against dropping db2 or oracle. I need to decide how to proceed with cf. It's a requested feature and one that I need. | 17:49 |
daryn | so, if we keep mssql text won't work. if we keep oracle/db2 text has to work. so one or both of them have to go, right? | 17:51 |
paulr | not necessarily | 17:53 |
paulr | as we could adjust what adodb maps XL to for mssql | 17:53 |
paulr | (which to all intents and purposes involves setting up our own datadict | 17:53 |
daryn | ok... | 17:54 |
daryn | so we can leave the field as XL until we decide what we're doing...then the question is why one field, two fields, or two separate tables is better | 17:55 |
paulr | the answer of mssql(with varchar(max)), mysql and pgsql I believe is one field | 17:56 |
paulr | with 2 fields/separate tables being historically better | 17:56 |
paulr | for oracle/db2 no idea | 17:56 |
paulr | http://richardlees.blogspot.com/2010/07/varcharmax-performance-in-sql-server.html | 17:57 |
daryn | why though? just because we've always done it that way? is there really a performance difference? In this case you will always be selecting only the field with the value. the other field will be ignored. | 17:57 |
daryn | does it still slow the query down or use more memory? | 17:57 |
paulr | apparently: 1. Adding a Text Data type / Varchar (MAX) to a table removes the ability for online re-indexing | 17:59 |
paulr | http://geekswithblogs.net/johnsPerfBlog/archive/2008/04/16/ntext-vs-nvarcharmax-in-sql-2005.aspx | 18:00 |
paulr | By default NTEXT stores the text value in the LOB structure and the table structure just holds a pointer to the location in the LOB where the text lives. | 18:01 |
paulr | Conversely, the default setting for NVARCHAR(MAX) is to store its text value in the table structure, unless the text is over 8,000 bytes at which point it behaves like an NTEXT and stores the text value in the LOB , and stores a pointer to the text in the table. | 18:01 |
paulr | tbh, I thought that's what ntext did ;P | 18:01 |
paulr | also see http://social.msdn.microsoft.com/Forums/en-US/sqldataaccess/thread/4de94284-cfe2-4a47-9863-8a2bbce4fb07 | 18:03 |
paulr | I guess the question is for us | 18:03 |
daryn | blah | 18:03 |
paulr | if you consider that most of our text fields are probably <8000 | 18:03 |
paulr | whether nvarchar(max) is better for our workload :) | 18:03 |
daryn | i think that would be a very assessment to make. I'd bet we have multiple custom fields with lots records > 8000 | 18:04 |
paulr | well I was thinking bugnotes and whatever else we have as text | 18:05 |
daryn | right | 18:05 |
paulr | i.e. 8000 characters is probably about 1000 words | 18:05 |
paulr | that's like a side or two of A4 right? :) | 18:05 |
daryn | about 1600 words | 18:06 |
daryn | no idea about A4 :P | 18:06 |
daryn | maybe two sides. i'd agree way more than most fields will need | 18:06 |
paulr | anyway... | 18:07 |
paulr | coming back to where we were | 18:07 |
paulr | we really need to decide on what we spport | 18:07 |
paulr | so we can test it | 18:07 |
paulr | properly ;) | 18:07 |
paulr | moving from where we are now which is basically: | 18:08 |
paulr | a) db2 | 18:08 |
paulr | b) oci8 | 18:08 |
paulr | c) mysql | 18:08 |
paulr | d) mysqli | 18:08 |
paulr | e) mssql | 18:08 |
paulr | f) odbc_mssql | 18:08 |
paulr | g) pgsql | 18:08 |
paulr | to: | 18:08 |
paulr | a) mysqli | 18:08 |
paulr | b) sqlsrv | 18:08 |
paulr | c) pgsql | 18:08 |
paulr | d) sqlite | 18:08 |
paulr | probably makes some sense | 18:08 |
daryn | yeah... | 18:09 |
paulr | (Although this MySQL extension is compatible with MySQL 4.1.0 and greater, it doesn't support the extra functionality that these versions provide. For that, use the MySQLi extension.) | 18:09 |
paulr | (I assume mysql is gradually going to be deprecated in favour of mysqli | 18:10 |
daryn | maybe why mysql was acting weird for me. | 18:10 |
paulr | iirc, i remember a php dev mailing list discussion about whether they should make mysql_* functions point to mysqli_* ones | 18:10 |
daryn | so...one field or two tables... | 18:11 |
daryn | i like one field | 18:11 |
paulr | Versions of PHP since 5.3.0 have MySQL support enabled as standard through the use of the mysql, mysqli, and PHP_PDO_MYSQL extensions. Each of these extensions now uses the MySQL Native Driver by default, rather than the MySQL Client Library, libmysql. | 18:12 |
paulr | at one point i think mysqli was the native driver (might be wrong) | 18:13 |
paulr | anyway | 18:13 |
paulr | what I dont know | 18:14 |
paulr | is whether we need both mysql+mysqli etc | 18:14 |
paulr | but looking at my above list | 18:15 |
paulr | it strikes me we'd dump a lot of old modules | 18:15 |
paulr | use the newest | 18:15 |
paulr | add spport for sqlite | 18:15 |
paulr | and half the number of db's we support | 18:15 |
paulr | making it semi-possible to test all 4 | 18:15 |
daryn | so, my thought... 1) alter cf.value to Text? 2) install function to cp cf.text to cf.value 3) drop cf.text | 18:16 |
daryn | we already have XL fields all over the place so if mssql is broken, it's already broken. then we can upgrade the field if necessary along with all the others | 18:17 |
paulr | I don't really like the idea of having 'shorttext' custom field + 'longtext' (i.e. what we now have) | 18:17 |
paulr | and then allowing users to specify a max length on short+long text | 18:17 |
daryn | both shortext and longtext are variable in most cases so they only use what they use...why does it matter? | 18:18 |
paulr | well if 'shorttext+longtext are both infinite length | 18:19 |
paulr | confusing | 18:19 |
paulr | in terms of db engines | 18:19 |
paulr | NULL. The value is a NULL value. | 18:19 |
paulr | INTEGER. The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value. | 18:19 |
paulr | REAL. The value is a floating point value, stored as an 8-byte IEEE floating point number. | 18:19 |
paulr | TEXT. The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16LE). | 18:19 |
paulr | BLOB. The value is a blob of data, stored exactly as it was input. | 18:19 |
paulr | Those are sqlite data types | 18:19 |
daryn | i have to go pick up kids...i'll be back in about 45min - an hour. will you still be here? | 18:19 |
paulr | i.e. | 18:19 |
paulr | for the most part can be ignored | 18:19 |
paulr | going to bed in 40m probably | 18:19 |
paulr | so unlikely | 18:19 |
paulr | anyway, if everyone's agreed on forgetting about db2/oracle for now | 18:20 |
paulr | we can simplify code and decide | 18:20 |
paulr | it also makes my life easier to replace db layer - as I can't get db2/oracle to work atm so kinda hard to write a dblayer for :P | 18:20 |
paulr | enjoy the kids ;) | 18:20 |
daryn | so, is my plan above ok with you? to simplify to one XL field for now? | 18:21 |
daryn | and migrate rather than reverting since we 'have a db change out there'? | 18:21 |
paulr | kinda want to think | 18:21 |
daryn | you said that 6mos ago, yr ago...etc. I need to move! | 18:21 |
paulr | originally, I believe we were thinking of using seperate db tables :) | 18:22 |
daryn | we went back and forth | 18:22 |
daryn | seems silly and more complicated to me | 18:22 |
paulr | but that was partly because we were trying to support mysql 2, sql 7, pgsql 6 as well as mysql 6, mssql 2008 and pgsql 9 | 18:22 |
paulr | :) | 18:22 |
paulr | we are on 1.3 now | 18:22 |
paulr | i'd be inclined for that to focus on | 18:23 |
paulr | sql 2008 Express (Free) | 18:23 |
daryn | which raises the text problem | 18:23 |
paulr | pgsql 8 + 9 | 18:23 |
paulr | and mysql 5 | 18:23 |
daryn | k. so...one field | 18:23 |
daryn | i want to do this tonight | 18:24 |
paulr | well, we've not checked the mysql/pgsql docs in this discussion :) | 18:24 |
daryn | mysql is fine | 18:24 |
daryn | pgsql not sure | 18:24 |
paulr | s a great time to beta test the 5.5 release and give feedback to the MySQL engineering team. | 18:24 |
paulr | mm | 18:24 |
daryn | but i'd go with fine | 18:24 |
daryn | i'll look tonight | 18:24 |
paulr | the biggest issue is queries | 18:24 |
paulr | with text, that was where mssql hit grief | 18:25 |
daryn | remembering that if we have to convert XL at all we have to do it anyway | 18:25 |
paulr | i.e. you couldn't group by ntext | 18:25 |
daryn | right | 18:25 |
daryn | which you wouldn't normally want to do anyway | 18:25 |
paulr | need to check if you can groupby varchar(7999) but not group by varchar(8001) | 18:25 |
paulr | there was also something with WHERE clauses | 18:25 |
daryn | although where '%xxx%' would be valuable | 18:25 |
paulr | but then we've also rewritten filter api a bit | 18:26 |
paulr | :) | 18:26 |
daryn | and i read two items, one said you can't do it but didn't say which versions, the other said shouldn't do it under certain circumstances | 18:26 |
daryn | gotta go...post additional thoughts you have and I'll read them in a bit | 18:26 |
paulr | so yea | 18:26 |
*** Joins: dhx_m (~anonymous@c122-107-170-247.eburwd5.vic.optusnet.com.au) | 18:26 | |
paulr | lo dhx | 18:26 |
dhx_m | hey | 18:27 |
paulr | www.mantisforge.org/irclogs | 18:27 |
daryn | hi dhx_m read backlogs...i'll be back in an hour | 18:27 |
paulr | read last hour pls | 18:27 |
paulr | heh | 18:27 |
*** Quits: daryn (~daryn@h158.249.190.173.static.ip.windstream.net) (Quit: Ex-Chat) | 18:27 | |
* paulr strokes whip | 18:27 | |
*** Joins: Github (~Github@sh1-ext.rs.github.com) | 18:30 | |
Github | mantisbt: master Daryn Warriner * 839f1d6 (7 files in 5 dirs): Fix #6626 - Add text area custom field type. Add column to handle long ... - http://bit.ly/aIcLnz | 18:30 |
*** Parts: Github (~Github@sh1-ext.rs.github.com) | 18:30 | |
dhx_m | read it :) | 18:39 |
dhx_m | my comment at the moment is to stick with the databases used by developers | 18:40 |
dhx_m | -or- setup an automated testing service that tests branches against multiple databases | 18:40 |
*** Joins: fanno (~Morten@90.184.93.233) | 18:43 | |
*** Quits: giallu (~giallu@fedora/giallu) (Ping timeout: 255 seconds) | 18:56 | |
*** Joins: daryn (~daryn@h59.157.16.98.dynamic.ip.windstream.net) | 19:10 | |
paulr | wb | 19:13 |
paulr | (6) | 19:14 |
daryn | hola | 19:16 |
daryn | paulr so...thought about it? one field or two tables? | 19:18 |
paulr | I think we are all agreed atm on supported db's | 19:18 |
paulr | aka: | 19:19 |
paulr | [11:08.28] <paulr> to: | 19:19 |
paulr | [11:08.35] <paulr> a) mysqli | 19:19 |
paulr | [11:08.41] <paulr> b) sqlsrv | 19:19 |
paulr | [11:08.43] <paulr> c) pgsql | 19:19 |
paulr | [11:08.45] <paulr> d) sqlite | 19:19 |
paulr | so we should really make some notes on what those db's support/allow | 19:19 |
paulr | and any obvious oddities | 19:19 |
paulr | what storage engine do we use ? | 19:23 |
paulr | myISAM? | 19:23 |
daryn | yes | 19:24 |
daryn | my point is we have a feature i've personally been waiting to push for about 2 years. the bug reference was from 2006 and XL is currently all over our db. So, to me, using an existing field type to push a long awaited feature and working out the kinks later makes sense. We're going to have to work them out in exactly the same manner anyway. | 19:25 |
daryn | i'll concede that deciding whether to use 1 or 2 fields or 2 tables should have been nailed down first | 19:26 |
paulr | Static format is the default for MyISAM tables. It is used when the table contains no variable-length columns (VARCHAR, VARBINARY, BLOB, or TEXT) | 19:26 |
paulr | .. | 19:26 |
paulr | Static-format tables have these characteristics: | 19:26 |
paulr | CHAR and VARCHAR columns are space-padded to the specified column width, although the column type is not altered. | 19:26 |
* paulr ponders | 19:26 | |
paulr | surely that didn't mean to put and varchar there | 19:26 |
paulr | anyway | 19:26 |
paulr | Of the three MyISAM storage formats, static format is the simplest and most secure (least subject to corruption). It is also the fastest of the on-disk formats due to the ease with which rows in the data file can be found on disk: | 19:26 |
paulr | now | 19:27 |
paulr | I guess that means we dont have many(any?) static formats | 19:27 |
daryn | unlikely | 19:27 |
daryn | oh, bug relationship is | 19:28 |
daryn | bug tag is | 19:29 |
daryn | so, at least a couple | 19:29 |
daryn | but mostly no | 19:29 |
paulr | raises an interesting question of whether char() would ever be better then varchar() ;p | 19:35 |
paulr | mysql> describe mantis_custom_field_string_table; | 19:35 |
paulr | +----------+--------------+------+-----+---------+-------+ | 19:35 |
paulr | | Field | Type | Null | Key | Default | Extra | | 19:35 |
paulr | +----------+--------------+------+-----+---------+-------+ | 19:35 |
paulr | | field_id | int(11) | NO | PRI | 0 | | | 19:35 |
paulr | | bug_id | int(11) | NO | PRI | 0 | | | 19:35 |
paulr | | value | varchar(255) | NO | | | | | 19:35 |
paulr | +----------+--------------+------+-----+---------+-------+ | 19:36 |
paulr | 3 rows in set (0.06 sec) | 19:36 |
paulr | anyway | 19:36 |
paulr | that table | 19:36 |
paulr | I have a couple of opinions | 19:36 |
paulr | a) we limited it to varchar() so as to not break mssql at one point - I know as I tested changing it | 19:36 |
paulr | we've now changed it to text, so if it still breaks mysql with other customfield/filter changes | 19:37 |
paulr | we've just broken it anyway | 19:37 |
paulr | I partly wondering if we should have a mantis_custom_field_int_table | 19:37 |
paulr | and a custom_field_string_table | 19:37 |
daryn | now we're rewriting cf again... | 19:38 |
paulr | as a lot of our custom fields are to indicte dropdowns/checkbxoes etc where outcome is int | 19:38 |
paulr | :) | 19:38 |
paulr | either way, I think having value+text is the wrong solution | 19:38 |
paulr | as if it breaks mssql, it's gonna break it by having it there anyway | 19:39 |
paulr | it seems we've already lost any mysql performance stuff | 19:39 |
paulr | and iirc, pgsql stores short+long strings same way anyway | 19:40 |
paulr | or does it on fly | 19:40 |
daryn | my point is if text breaks mssql it's already broken | 19:40 |
paulr | now considering you'll probably hit grief trying to convert text to varchar | 19:41 |
paulr | i'd be half inclined to yank the commit | 19:41 |
paulr | maximum size of varchar(max) is 2^30-1 | 19:42 |
paulr | maximum size of ntext/text is 2^31-1 | 19:42 |
paulr | so I wonder if you can do alter table text -> varchar | 19:42 |
paulr | or whether sql will error/warn you heavily | 19:42 |
daryn | this is why i asked you to test this stuff...i don't have facility to test against anything but mysql and pgsql | 19:43 |
*** Quits: fanno (~Morten@90.184.93.233) (Quit: Leaving.) | 19:46 | |
paulr | well, adodb will fail to do it as it's shit | 19:47 |
paulr | but moving from text<>varchar's fine | 19:47 |
paulr | doesn't need any casting etc | 19:47 |
paulr | (at least not in the sql management studio) | 19:47 |
paulr | however | 19:48 |
paulr | right now I need to go to bed | 19:49 |
daryn | you said that... | 19:49 |
paulr | which bit? | 19:49 |
daryn | go to bed | 19:49 |
paulr | well it is 1am | 19:49 |
daryn | i still don't know what i'm supposed to do... | 19:49 |
paulr | undo the schema change in some way | 19:53 |
paulr | heh | 19:53 |
daryn | you want two tables or one? | 19:53 |
paulr | one for ints, one for strings maybe? | 19:53 |
daryn | what datatype for strings? | 19:53 |
paulr | ^^ that would probably be most sensible setup for performance maybe depending on how it was used | 19:54 |
paulr | XLNEW | 19:54 |
daryn | where is that? i don't see it in the datadict | 19:54 |
paulr | correct ) | 19:55 |
paulr | it doesn't exist yet | 19:55 |
daryn | uh...ok | 19:55 |
paulr | need to take a sledge hammer to it | 19:55 |
daryn | we don't have time for a sledgehammer right now | 19:56 |
paulr | sure we do | 19:56 |
paulr | well not this second as i'm going to bed but | 19:56 |
daryn | not at the speed you move :P | 19:56 |
paulr | you dont know how much I hate adodb :) | 19:56 |
paulr | anyway, really need to go :P | 19:57 |
daryn | so, i'm just going to split it out to two tables make one int the other... XL :P and you can change it later | 19:57 |
paulr | (I'm assuming that two tables makes sense - as probably 50% of custom fields are gonna be checkboxes or whatever | 19:58 |
daryn | k. two tables | 19:58 |
daryn | int, XL | 19:58 |
paulr | 'i'm just going to split it out ' | 19:58 |
paulr | 'just' | 19:58 |
paulr | you make it sound easy :) | 19:58 |
daryn | it is | 19:58 |
paulr | should be fun updating enum stuff and filters etc :P | 19:58 |
paulr | and you now need to move int's from the current string values for enums etc | 19:59 |
daryn | the enums are mostly just strings i think though... | 19:59 |
paulr | surely we store int and then the string in the definition?? | 19:59 |
*** Quits: scribe9343423 (~scribe934@static.96.23.63.178.clients.your-server.de) (Remote host closed the connection) | 20:00 | |
daryn | don't think so | 20:00 |
daryn | just the value | 20:00 |
daryn | the string value...checking now | 20:00 |
paulr | check that :) | 20:00 |
paulr | reason for suggesting having a table of int's | 20:00 |
*** Joins: scribe9343423 (~scribe934@static.96.23.63.178.clients.your-server.de) | 20:00 | |
paulr | is i'm assuming that 3-4 of our field types for custom field generate ints | 20:00 |
daryn | prolly should anyway | 20:00 |
daryn | i don't think they do | 20:00 |
paulr | +$g_custom_field_type_enum_string = '0:string,1:numeric,2:float,3:enum,4:email,5:checkbox,6:list,7:multiselection list,8:date,9:radio,10:textarea'; | 20:01 |
paulr | would kinda expect that 1, (not 2?) , 3, 5, 6, not 7, 8, 9 | 20:01 |
paulr | end up as int's | 20:01 |
paulr | and 0, 2?, 7 end up as strings | 20:01 |
paulr | +4 | 20:01 |
paulr | i.e. 7 are int's 4 are strings | 20:01 |
paulr | i'm then assuming people are more likely to be using custom fields for lists/checkboxes then strings | 20:02 |
paulr | given we have notes etc and about 2-3 strings on a bug anyway | 20:02 |
paulr | right bed for me yet? :) | 20:03 |
daryn | no because the enums aren't stored with an id they are stored as whatever string is entered | 20:03 |
paulr | ps. feel free to see if nuclear_eclipse and dhx agree with the int thing | 20:03 |
* paulr ponders | 20:03 | |
paulr | what you can localise the enum strings?????? | 20:03 |
paulr | s/what/but/ | 20:03 |
daryn | not really | 20:03 |
paulr | iirc | 20:03 |
daryn | they are just a delimited string | 20:04 |
daryn | |Regression|Install|New Feature|blah | 20:04 |
paulr | hmm | 20:04 |
paulr | interesting | 20:05 |
paulr | i'm sure victors done a blog on localising them though | 20:05 |
daryn | perhaps | 20:05 |
paulr | 0:string,2:float,3:enum,4:email,,,, // 1:numeric, 5:checkbox,6:list 7:multiselection list 8:date,9:radio | 20:06 |
paulr | although tbh | 20:06 |
paulr | given multiselection list should probably be a bitmask | 20:06 |
paulr | can probably store all of them as int lookups | 20:06 |
*** Quits: micahg (~micah@ubuntu/member/micahg) (Ping timeout: 245 seconds) | 20:06 | |
paulr | apart from the first 4 | 20:06 |
paulr | and even then | 20:06 |
paulr | I probably think enum should be defined as 1:regstriong,2:install and then just store 3 in db | 20:07 |
paulr | so you could localise it | 20:07 |
daryn | yeah...but that's a bigger issue | 20:07 |
paulr | sure | 20:07 |
daryn | ah, they do it with a custom function i think | 20:08 |
paulr | however if you agree with that idea, it probably confirms need to have a string+int table | 20:08 |
paulr | wonder if it works :P | 20:08 |
paulr | i mean, if english is entered, you view french | 20:08 |
paulr | wonder if french person saves french, if it gets back to english... | 20:08 |
paulr | nn | 20:08 |
paulr | nn | 20:09 |
daryn | bye | 20:09 |
*** Quits: paulr (~IceChat09@2001:470:9310:aaaa:984a:9ef5:e044:eebc) (Read error: Operation timed out) | 20:12 | |
*** Quits: daryn (~daryn@h59.157.16.98.dynamic.ip.windstream.net) (Ping timeout: 265 seconds) | 21:12 | |
*** Joins: daryn (~daryn@h59.157.16.98.dynamic.ip.windstream.net) | 22:02 | |
*** Joins: micahg (~micah@ubuntu/member/micahg) | 22:36 | |
*** Quits: daryn (~daryn@h59.157.16.98.dynamic.ip.windstream.net) (Ping timeout: 265 seconds) | 23:29 | |
*** Joins: daryn (~daryn@h59.157.16.98.dynamic.ip.windstream.net) | 23:47 |
Generated by irclog2html.py 2.12.1 by Marius Gedminas - find it at mg.pov.lt!