It is a bug?
s.rstpg, ecoras.rsdat, ecoras.rsrub FROM ecoras, ecotxt LEFT JOIN ecotes ON ecoras.rstcd = ecotes.rstcd LEFT JOIN ecorub ON ecoras.rsnum = ecorub.rsnum and ecoras.rsrub = ecorub.rsrub WHEREecoras.rsnum = 0 AND ecoras.rsori = ecotxt.rsori AND ecoras.rscod = ecotxt.rscod AND (rsdat >= '2002-12-01') and (rsdat <= '2002-12-23') AND (match(ecotxt.rstxt) against('JAVA' IN BOOLEAN MODE)) ORDER BY ecoras.rspst, ecoras.rstda, ecotes.rstes, ecoras.rstpg, ecoras.rsart In this query the where-clause matches the primary key (index) of ecoras table: ecoras.rsnum = 0 AND ecoras.rsori = ecotxt.rsori AND ecoras.rscod = ecotxt.rscod If I do not use an index, I will obtain slow performances, but I must have always a valid resultset like in the second query. Is it a bug or a join-condition has to match an index? Thanks and best regard Walter Procopio - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Is it a bug?
s.rstpg, ecoras.rsdat, ecoras.rsrub FROM ecoras, ecotxt LEFT JOIN ecotes ON ecoras.rstcd = ecotes.rstcd LEFT JOIN ecorub ON ecoras.rsnum = ecorub.rsnum and ecoras.rsrub = ecorub.rsrub WHEREecoras.rsnum = 0 AND ecoras.rsori = ecotxt.rsori AND ecoras.rscod = ecotxt.rscod AND (rsdat >= '2002-12-01') and (rsdat <= '2002-12-23') AND (match(ecotxt.rstxt) against('JAVA' IN BOOLEAN MODE)) ORDER BY ecoras.rspst, ecoras.rstda, ecotes.rstes, ecoras.rstpg, ecoras.rsart In this query the where-clause matches the primary key (index) of ecoras table: ecoras.rsnum = 0 AND ecoras.rsori = ecotxt.rsori AND ecoras.rscod = ecotxt.rscod If I do not use an index, I will obtain slow performances, but I must have always a valid resultset like in the second query. Is it a bug or a join-condition has to match an index? Thanks and best regard Walter Procopio - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Is it a bug
s.rstpg, ecoras.rsdat, ecoras.rsrub FROM ecoras, ecotxt LEFT JOIN ecotes ON ecoras.rstcd = ecotes.rstcd LEFT JOIN ecorub ON ecoras.rsnum = ecorub.rsnum and ecoras.rsrub = ecorub.rsrub WHEREecoras.rsnum = 0 AND ecoras.rsori = ecotxt.rsori AND ecoras.rscod = ecotxt.rscod AND (rsdat >= '2002-12-01') and (rsdat <= '2002-12-23') AND (match(ecotxt.rstxt) against('JAVA' IN BOOLEAN MODE)) ORDER BY ecoras.rspst, ecoras.rstda, ecotes.rstes, ecoras.rstpg, ecoras.rsart In this query the where-clause matches the primary key (index) of ecoras table: ecoras.rsnum = 0 AND ecoras.rsori = ecotxt.rsori AND ecoras.rscod = ecotxt.rscod If I do not use an index, I will obtain slow performances, but I must have always a valid resultset like in the second query. Is it a bug or a join-condition has to match an index? Thanks and best regard Walter Procopio - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
re: Is it a bug
> On Tuesday 31 December 2002 10:21, Walter Procopio wrote: > > > I have installed mysql max 4.0.4 beta on a Suse (ver. 8.0) linux server and > > I have created a database with this schema: > > [skip] > > > > > And I try to execute this query: > > > > > > SELECTecoras.rstda, ecotes.rstes, ecoras.rsart, ecoras.rsimm, > > ecorub.rsdes, ecoras.rstpg, ecoras.rsdat, ecoras.rsrub > > FROM ecoras, ecotxt > > LEFT JOIN ecotes ON ecoras.rstcd = ecotes.rstcd > > LEFT JOIN ecorub ON ecoras.rsnum = ecorub.rsnum and ecoras.rsrub = > > ecorub.rsrub > > WHEREecoras.rsori = ecotxt.rsori > > AND ecoras.rscod = ecotxt.rscod > > AND (rsdat >= '2002-12-01') and (rsdat <= '2002-12-23') > > AND (match(ecotxt.rstxt) against('JAVA' IN BOOLEAN MODE)) > > ORDER BY ecoras.rspst, ecoras.rstda, ecotes.rstes, ecoras.rstpg, > > ecoras.rsart > > > > > > I have no data in my resultset, but data-base contains data which match > > conditions. > > If I excute the following query I have a valid resultset. > > > > > > SELECTecoras.rstda, ecotes.rstes, ecoras.rsart, ecoras.rsimm, > > ecorub.rsdes, ecoras.rstpg, ecoras.rsdat, ecoras.rsrub > > FROM ecoras, ecotxt > > LEFT JOIN ecotes ON ecoras.rstcd = ecotes.rstcd > > LEFT JOIN ecorub ON ecoras.rsnum = ecorub.rsnum and ecoras.rsrub = > > ecorub.rsrub > > WHEREecoras.rsnum = 0 > > AND ecoras.rsori = ecotxt.rsori > > AND ecoras.rscod = ecotxt.rscod > > AND (rsdat >= '2002-12-01') and (rsdat <= '2002-12-23') > > AND (match(ecotxt.rstxt) against('JAVA' IN BOOLEAN MODE)) > > ORDER BY ecoras.rspst, ecoras.rstda, ecotes.rstes, ecoras.rstpg, > > ecoras.rsart > > > > > > In this query the where-clause matches the primary key (index) of ecoras > > table: > > > > > > ecoras.rsnum = 0 > > AND ecoras.rsori = ecotxt.rsori > > AND ecoras.rscod = ecotxt.rscod > > > > > > If I do not use an index, I will obtain slow performances, but I must have > > always a > > valid resultset like in the second query. > > > > Is it a bug or a join-condition has to match an index? > > Could you test it with latest version of MySQL server (4.0.7)? > Could you provide some data for testing? > > > I have tried the release 4.0.7 and it is ok. It solves another problem I had using full text query. Thank you. - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Full text limitation?
Hi, I have installed mysql max 4.0.7 gamma on a Suse (ver. 8.0 professional) linux server. I have tried many full text queries and I had only a problem with a query like this: SELECT count(a.rsori) pippo FROM ecoras a, ecotxt b WHERE MATCH ( b.rstxt ) AGAINST ( '-linux' IN BOOLEAN MODE ) AND a.rsori = b.rsori AND a.rscod = b.rscod; If I use only the minus operator I have not a valid resultset. If I use the minus operator with another one I have a reultset. For example: SELECT count(a.rsori) pippo FROM ecoras a, ecotxt b WHERE MATCH ( b.rstxt ) AGAINST ( '+linux -windows' IN BOOLEAN MODE ) AND a.rsori = b.rsori AND a.rscod = b.rscod; Is it a full text limit? Thanks Walter Procopio - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Re: Full text limitation?
- Original Message - From: "Paul DuBois" <[EMAIL PROTECTED]> To: "Walter Procopio" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Wednesday, January 08, 2003 5:44 PM Subject: Re: Full text limitation? > At 14:03 +0100 1/8/03, Walter Procopio wrote: > >Hi, > > > >I have installed mysql max 4.0.7 gamma on a Suse (ver. 8.0 professional) > >linux server. I have tried many full text queries and I had only a problem > >with a query like this: > > > >SELECT count(a.rsori) pippo > >FROM ecoras a, ecotxt b > >WHERE MATCH ( b.rstxt ) AGAINST ( '-linux' IN BOOLEAN MODE ) > >AND a.rsori = b.rsori > >AND a.rscod = b.rscod; > > > >If I use only the minus operator I have not a valid resultset. > > Isn't that the same as asking for records that don't match anything? > I think I was not exaustive, in mysql handbook I can read: +A leading plus sign indicates that this word must be present in every row returned. - A leading minus sign indicates that this word must not be present in any row returned. By default (when neither plus nor minus is specified) the word is optional, but the rows that contain it will be rated higher. This mimicks the behaviour of MATCH() ... AGAINST() without the IN BOOLEAN MODE modifier. If I execute a query like in the example, I don't obtain all rows where this word is not present. Instead if I use a leading plus sign I obtain the right resultset. I do not think it is a bug, maybe it is a limitation in full-text search and I would know how can I obtain a valid resultset. > > If I use the > >minus operator with another one I have a reultset. > >For example: > > > >SELECT count(a.rsori) pippo > >FROM ecoras a, ecotxt b > >WHERE MATCH ( b.rstxt ) AGAINST ( '+linux -windows' IN BOOLEAN MODE ) > >AND a.rsori = b.rsori > >AND a.rscod = b.rscod; > > > >Is it a full text limit? > > > >Thanks > >Walter Procopio > - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php