Joins, reporting bug in search strategy.

Lukasz Misztal <[email protected]> Mon, 06 Aug 2007 14:05:30 +0200
Newsgroups gmane.comp.db.maxdb
Message-ID <[email protected]>
Hi,

this is prabably bug in search strategy plan.
Is it enough to report bug?

And second question,
is any simple way to force 'table scan' on query (avoid indexes)?

Best regards,

Lukasz

---------------------(Base query)-----------------
select * from "DokumentLokalu"
left join "TowarFizycznie" on
"DokumentLokalu"."DKL_ID"=3D"TowarFizycznie"."TFZ_IDDokumentLokalu"
left join "MagazynTowar" on
"TowarFizycznie"."TFZ_IDTowar"=3D"MagazynTowar".MT_ID
left join "Kwota" on   "TowarFizycznie".TFZ_ID=3D"Kwota"."KW_IDTowarFizyc=
znie"
left join "DokumentLokaluTowarDJ" on
"TowarFizycznie"."TFZ_ID"=3D"DokumentLokaluTowarDJ"."DTJ_IDDokumentLokalu=
Towar"

execution plan:
MAXIPROD	DokumentLokalu		TABLE SCAN	         1=09
MAXIPROD	TowarFizycznie	TFZ_IX_IDDokumentlokalu	JOIN VIA INDEXED COLUMN
         1=09
		TFZ_IDDokumentLokalu	     (USED INDEX COLUMN)	=09
MAXIPROD	MagazynTowar	MT_ID	JOIN VIA KEY COLUMN	         5=09
MAXIPROD	Kwota	KW_IX_IDTowarFizycznie	JOIN VIA INDEXED COLUMN	         1	=

		KW_IDTowarFizycznie	     (USED INDEX COLUMN)	=09
MAXIPROD	DokumentLokaluTowarDJ		JOIN VIA KEY RANGE	         1=09
			TABLE TEMPORARY SORTED	=09
		DTJ_IDDokumentLokaluTowar	     (USED SORT COLUMN)	=09
			     RESULT IS COPIED   , COSTVALUE IS	        11=09

---------------------(condition, wrong result)-----------------
Base query+
where
"MagazynTowar"."MT_IDJednostka"=3D"DokumentLokaluTowarDJ"."DTJ_IDJednostk=
a"
-----------------------------

search strategy:
MAXIPROD	MagazynTowar		TABLE SCAN	         5=09
MAXIPROD	DokumentLokalu		TABLE SCAN	         1=09
MAXIPROD	DokumentLokaluTowarDJ		JOIN VIA KEY RANGE	         1=09
			TABLE TEMPORARY SORTED	=09
		DTJ_IDJednostka	     (USED SORT COLUMN)	=09
MAXIPROD	TowarFizycznie	TFZ_ID	JOIN VIA KEY COLUMN	         1=09
MAXIPROD	Kwota	KW_IX_IDTowarFizycznie	JOIN VIA INDEXED COLUMN	         1	=

		KW_IDTowarFizycznie	     (USED INDEX COLUMN)	=09
			     RESULT IS COPIED   , COSTVALUE IS	       923=09


--------------------(second wrong result)----------------------
Base query+
where
"MagazynTowar"."MT_IDJednostka"+1=3D"DokumentLokaluTowarDJ"."DTJ_IDJednos=
tka"+1
-----------------------------

search strategy:
MAXIPROD	MagazynTowar		TABLE SCAN	         5=09
MAXIPROD	DokumentLokalu		TABLE SCAN	         1=09
MAXIPROD	DokumentLokaluTowarDJ	JOIN VIA KEY RANGE	 1=09
			TABLE TEMPORARY SORTED	=09
		????????=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=
=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=
=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0=E2=80=A0(USE=
D SORT COLUMN)	=09
		DTJ_IDJednostka	     (USED SORT COLUMN)	=09
MAXIPROD	TowarFizycznie	TFZ_ID	JOIN VIA KEY COLUMN	 1=09
MAXIPROD	Kwota	KW_IX_IDTowarFizycznie	JOIN VIA INDEXED COLUMN	         1	=

		KW_IDTowarFizycznie	     (USED INDEX COLUMN)	=09
	RESULT IS COPIED   , COSTVALUE IS	       923=09


------------------------------(Correct result)----------------------
Base query+
where
"MagazynTowar"."MT_IDJednostka"-"DokumentLokaluTowarDJ"."DTJ_IDJednostka"=
=3D0
-----------------------------

search strategy:
MAXIPROD	DokumentLokalu		TABLE SCAN	         1=09
MAXIPROD	TowarFizycznie	TFZ_IX_IDDokumentlokalu	JOIN VIA INDEXED COLUMN
         1=09
		TFZ_IDDokumentLokalu	     (USED INDEX COLUMN)	=09
MAXIPROD	MagazynTowar	MT_ID	JOIN VIA KEY COLUMN	         5=09
MAXIPROD	Kwota	KW_IX_IDTowarFizycznie	JOIN VIA INDEXED COLUMN	         1	=

		KW_IDTowarFizycznie	     (USED INDEX COLUMN)	=09
MAXIPROD	DokumentLokaluTowarDJ		JOIN VIA KEY RANGE	         1=09
			TABLE TEMPORARY SORTED	=09
		DTJ_IDDokumentLokaluTowar	     (USED SORT COLUMN)	=09
			     RESULT IS COPIED   , COSTVALUE IS	        11=09




-- 
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[email protected]