Index: pgadmin2/frmMain.frm =================================================================== RCS file: /home/saito/dev/PGADMIN-II/pgadmin2/pgadmin2/frmMain.frm,v retrieving revision 1.1 retrieving revision 1.2 diff -r1.1 -r1.2 3389,3392c3389 < Set lvItem = lv.ListItems.Add(, "PRO-" & GetID, "Left Sort Operator", "property", "property") < lvItem.SubItems(1) = ctx.CurrentObject.LeftTypeSortOperator < Set lvItem = lv.ListItems.Add(, "PRO-" & GetID, "Right Sort Operator", "property", "property") < lvItem.SubItems(1) = ctx.CurrentObject.RightTypeSortOperator --- > ' 3398a3396,3412 > ' > Set lvItem = lv.ListItems.Add(, "PRO-" & GetID, "Merge Joins?", "property", "property") > If ctx.CurrentObject.MergeJoins Then > lvItem.SubItems(1) = "Yes" > Else > lvItem.SubItems(1) = "No" > End If > ' > Set lvItem = lv.ListItems.Add(, "PRO-" & GetID, "Left Sort Operator", "property", "property") > lvItem.SubItems(1) = ctx.CurrentObject.LeftTypeSortOperator > Set lvItem = lv.ListItems.Add(, "PRO-" & GetID, "Right Sort Operator", "property", "property") > lvItem.SubItems(1) = ctx.CurrentObject.RightTypeSortOperator > Set lvItem = lv.ListItems.Add(, "PRO-" & GetID, "Less Than Operator", "property", "property") > lvItem.SubItems(1) = ctx.CurrentObject.LessThanOperator > Set lvItem = lv.ListItems.Add(, "PRO-" & GetID, "Greater Than Operator", "property", "property") > lvItem.SubItems(1) = ctx.CurrentObject.GreaterThanOperator > ' Index: pgadmin2/frmOperator.frm =================================================================== RCS file: /home/saito/dev/PGADMIN-II/pgadmin2/pgadmin2/frmOperator.frm,v retrieving revision 1.1 retrieving revision 1.2 diff -r1.1 -r1.2 68c68 < Left = 45 --- > Left = 120 70c70 < Top = 45 --- > Top = 120 119,132c119,148 < Tab(1).Control(0)= "chkProperties(0)" < Tab(1).Control(1)= "cboProperties(4)" < Tab(1).Control(2)= "cboProperties(5)" < Tab(1).Control(3)= "cboProperties(6)" < Tab(1).Control(4)= "cboProperties(7)" < Tab(1).Control(5)= "cboProperties(8)" < Tab(1).Control(6)= "cboProperties(9)" < Tab(1).Control(7)= "lblProperties(13)" < Tab(1).Control(8)= "lblProperties(12)" < Tab(1).Control(9)= "lblProperties(11)" < Tab(1).Control(10)= "lblProperties(10)" < Tab(1).Control(11)= "lblProperties(9)" < Tab(1).Control(12)= "lblProperties(8)" < Tab(1).ControlCount= 13 --- > Tab(1).Control(0)= "chkProperties(1)" > Tab(1).Control(1)= "chkProperties(0)" > Tab(1).Control(2)= "cboProperties(4)" > Tab(1).Control(3)= "cboProperties(5)" > Tab(1).Control(4)= "cboProperties(6)" > Tab(1).Control(5)= "cboProperties(7)" > Tab(1).Control(6)= "cboProperties(8)" > Tab(1).Control(7)= "cboProperties(9)" > Tab(1).Control(8)= "cboProperties(10)" > Tab(1).Control(9)= "cboProperties(11)" > Tab(1).Control(10)= "lblProperties(15)" > Tab(1).Control(11)= "lblProperties(14)" > Tab(1).Control(12)= "lblProperties(13)" > Tab(1).Control(13)= "lblProperties(12)" > Tab(1).Control(14)= "lblProperties(11)" > Tab(1).Control(15)= "lblProperties(10)" > Tab(1).Control(16)= "lblProperties(9)" > Tab(1).Control(17)= "lblProperties(8)" > Tab(1).ControlCount= 18 > Begin VB.CheckBox chkProperties > Alignment = 1 'Right Justify > Caption = "Merges?" > Height = 195 > Index = 1 > Left = -74880 > TabIndex = 37 > ToolTipText = "Indicates this operator can support a hash join." > Top = 2640 > Width = 1995 > End 210c226 < Height = 330 --- > Height = 315 218c234 < _ExtentY = 582 --- > _ExtentY = 556 226c242 < Height = 330 --- > Height = 315 234c250 < _ExtentY = 582 --- > _ExtentY = 556 242c258 < Height = 330 --- > Height = 315 250c266 < _ExtentY = 582 --- > _ExtentY = 556 258c274 < Height = 330 --- > Height = 315 266c282 < _ExtentY = 582 --- > _ExtentY = 556 274c290 < Height = 330 --- > Height = 315 282c298 < _ExtentY = 582 --- > _ExtentY = 556 290c306 < Height = 330 --- > Height = 315 298c314 < _ExtentY = 582 --- > _ExtentY = 556 306c322 < Height = 330 --- > Height = 315 311c327 < Top = 2655 --- > Top = 3000 314c330 < _ExtentY = 582 --- > _ExtentY = 556 322c338 < Height = 330 --- > Height = 315 327c343 < Top = 3060 --- > Top = 3360 330c346 < _ExtentY = 582 --- > _ExtentY = 556 338c354 < Height = 330 --- > Height = 315 346c362 < _ExtentY = 582 --- > _ExtentY = 556 354c370 < Height = 330 --- > Height = 315 362c378,394 < _ExtentY = 582 --- > _ExtentY = 556 > _Version = 393216 > ForeColor = -2147483640 > BackColor = -2147483633 > Locked = -1 'True > ImageList = "il" > End > Begin MSComctlLib.ImageCombo cboProperties > Height = 315 > Index = 10 > Left = -73080 > TabIndex = 35 > ToolTipText = "If this operator can support a merge join, the operator that sorts the right-hand data type of this operator." > Top = 3840 > Width = 3390 > _ExtentX = 5980 > _ExtentY = 556 368a401,436 > Begin MSComctlLib.ImageCombo cboProperties > Height = 315 > Index = 11 > Left = -73080 > TabIndex = 36 > ToolTipText = "If this operator can support a merge join, the operator that sorts the right-hand data type of this operator." > Top = 4200 > Width = 3390 > _ExtentX = 5980 > _ExtentY = 556 > _Version = 393216 > ForeColor = -2147483640 > BackColor = -2147483633 > Locked = -1 'True > ImageList = "il" > End > Begin VB.Label lblProperties > AutoSize = -1 'True > Caption = "Greater Than operator" > Height = 180 > Index = 15 > Left = -74880 > TabIndex = 34 > Top = 4320 > Width = 1695 > End > Begin VB.Label lblProperties > AutoSize = -1 'True > Caption = "Less Than operator" > Height = 180 > Index = 14 > Left = -74880 > TabIndex = 33 > Top = 3960 > Width = 1485 > End 384c452 < Left = -74865 --- > Left = -74880 386,387c454,455 < Top = 3150 < Width = 1305 --- > Top = 3480 > Width = 1545 394c462 < Left = -74865 --- > Left = -74880 396,397c464,465 < Top = 2745 < Width = 1200 --- > Top = 3120 > Width = 1440 552a621,623 > ' > Dim szLessThan As String > Dim szGreaterThan As String 582a654,655 > If Not (cboProperties(10).SelectedItem Is Nothing) Then szLessThan = cboProperties(10).SelectedItem.Text > If Not (cboProperties(11).SelectedItem Is Nothing) Then szGreaterThan = cboProperties(11).SelectedItem.Text 648a722,723 > cboProperties(10).ComboItems.Add , , objTempOperator.Name, "operator" > cboProperties(11).ComboItems.Add , , objTempOperator.Name, "operator" 665a741,742 > cboProperties(10).ComboItems.Add , , objTempOperator.FormattedID, "operator" > cboProperties(11).ComboItems.Add , , objTempOperator.FormattedID, "operator" 682a760,761 > cboProperties(10).ComboItems.Add , , objTempOperator.Name, "operator" > cboProperties(11).ComboItems.Add , , objTempOperator.Name, "operator" 692c771 < For X = 4 To 9 --- > For X = 4 To 11 726a806,809 > Set objItem = cboProperties(10).ComboItems.Add(, , objOperator.LessThanOperator, "function") > objItem.Selected = True > Set objItem = cboProperties(11).ComboItems.Add(, , objOperator.GreaterThanOperator, "function") > objItem.Selected = True 728a812 > chkProperties(1).Value = Bool2Bin(objOperator.MergeJoins) 754a839 > chkProperties(1).Value = Bool2Bin(objOperator.MergeJoins) Index: pgschema/Operators.cls =================================================================== RCS file: /home/saito/dev/PGADMIN-II/pgadmin2/pgschema/Operators.cls,v retrieving revision 1.1 retrieving revision 1.2 diff -r1.1 -r1.2 149c149 < Private Function iAdd(dOID As Double, szName As String, szOwner As String, szKind As String, bHashJoins As Boolean, dLeftOperandType As Double, dRightOperandType As Double, dResultType As Double, dCommutator As Double, dNegator As Double, dLeftTypeSortOperator As Double, dRightTypeSortOperator As Double, szOperatorFunction As String, szRestrictFunction As String, szJoinFunction As String) As pgOperator --- > Private Function iAdd(dOID As Double, szName As String, szOwner As String, szKind As String, bHashJoins As Boolean, dLeftOperandType As Double, dRightOperandType As Double, dResultType As Double, dCommutator As Double, dNegator As Double, dLeftTypeSortOperator As Double, dRightTypeSortOperator As Double, szOperatorFunction As String, szRestrictFunction As String, szJoinFunction As String, bMergeJoins As Boolean, dLessThanOperator As Double, dGreaterThanOperator As Double) As pgOperator 151c151 < objServer.iLogEvent "Entering " & App.Title & ":Operators.iAdd(" & dOID & ", " & QUOTE & szName & QUOTE & ", " & QUOTE & szOwner & QUOTE & ", " & QUOTE & szKind & QUOTE & ", " & bHashJoins & ", " & dLeftOperandType & ", " & dRightOperandType & ", " & dResultType & ", " & dCommutator & ", " & dNegator & ", " & dLeftTypeSortOperator & ", " & dRightTypeSortOperator & ", " & QUOTE & szOperatorFunction & QUOTE & ", " & QUOTE & szRestrictFunction & QUOTE & ", " & QUOTE & szJoinFunction & QUOTE & ")", etFullDebug --- > objServer.iLogEvent "Entering " & App.Title & ":Operators.iAdd(" & dOID & ", " & QUOTE & szName & QUOTE & ", " & QUOTE & szOwner & QUOTE & ", " & QUOTE & szKind & QUOTE & ", " & bHashJoins & ", " & dLeftOperandType & ", " & dRightOperandType & ", " & dResultType & ", " & dCommutator & ", " & dNegator & ", " & dLeftTypeSortOperator & ", " & dRightTypeSortOperator & ", " & QUOTE & szOperatorFunction & QUOTE & ", " & QUOTE & szRestrictFunction & QUOTE & ", " & QUOTE & szJoinFunction & QUOTE & ", " & QUOTE & bMergeJoins & QUOTE & ", " & QUOTE & dLessThanOperator & QUOTE & ", " & QUOTE & dGreaterThanOperator & QUOTE & ")", etFullDebug 184a185 > 195a197 > 201a204,212 > > objNewMember.MergeJoins = bMergeJoins > szTemp = objServer.Databases(Database).LookupOperator(dLessThanOperator) > If szTemp = "opaque" Then szTemp = "NONE" > objNewMember.LessThanOperator = szTemp > szTemp = objServer.Databases(Database).LookupOperator(dGreaterThanOperator) > If szTemp = "opaque" Then szTemp = "NONE" > objNewMember.GreaterThanOperator = szTemp > 222c233 < Public Function Add(ByVal Name As String, ByVal OperatorFunction As String, Optional ByVal LeftOperandType As String, Optional ByVal RightOperandType As String, Optional ByVal Commutator As String, Optional ByVal Negator As String, Optional ByVal RestrictFunction As String, Optional ByVal JoinFunction As String, Optional ByVal Hashes As Boolean, Optional ByVal LeftTypeSortOperator As String, Optional ByVal RightTypeSortOperator As String, Optional ByVal Comment As String) As pgOperator --- > Public Function Add(ByVal Name As String, ByVal OperatorFunction As String, Optional ByVal LeftOperandType As String, Optional ByVal RightOperandType As String, Optional ByVal Commutator As String, Optional ByVal Negator As String, Optional ByVal RestrictFunction As String, Optional ByVal JoinFunction As String, Optional ByVal Hashes As Boolean, Optional ByVal LeftTypeSortOperator As String, Optional ByVal RightTypeSortOperator As String, Optional ByVal Comment As String, Optional ByVal Merges As Boolean, Optional ByVal LessThanOperator As String, Optional ByVal GraterThanOperator As String) As pgOperator 225c236 < objServer.iLogEvent "Entering " & App.Title & ":Operators.Add(" & QUOTE & Name & QUOTE & ", " & QUOTE & OperatorFunction & QUOTE & ", " & QUOTE & LeftOperandType & QUOTE & ", " & QUOTE & RightOperandType & QUOTE & ", " & QUOTE & Commutator & QUOTE & ", " & QUOTE & Negator & QUOTE & ", " & QUOTE & RestrictFunction & QUOTE & ", " & QUOTE & JoinFunction & QUOTE & ", " & Hashes & ", " & QUOTE & LeftTypeSortOperator & QUOTE & ", " & QUOTE & RightTypeSortOperator & QUOTE & ", " & QUOTE & Comment & QUOTE & ")", etFullDebug --- > objServer.iLogEvent "Entering " & App.Title & ":Operators.Add(" & QUOTE & Name & QUOTE & ", " & QUOTE & OperatorFunction & QUOTE & ", " & QUOTE & LeftOperandType & QUOTE & ", " & QUOTE & RightOperandType & QUOTE & ", " & QUOTE & Commutator & QUOTE & ", " & QUOTE & Negator & QUOTE & ", " & QUOTE & RestrictFunction & QUOTE & ", " & QUOTE & JoinFunction & QUOTE & ", " & Hashes & ", " & QUOTE & Merges & QUOTE & ", " & QUOTE & LeftTypeSortOperator & QUOTE & ", " & QUOTE & RightTypeSortOperator & QUOTE & ", " & QUOTE & LessThanOperator & QUOTE & ", " & QUOTE & GraterThanOperator & QUOTE & ", " & QUOTE & Comment & QUOTE & ")", etFullDebug 248a260 > If Merges Then szSQL = szSQL & ", MERGES" 250a263,264 > If LessThanOperator <> "" Then szSQL = szSQL & ", LTCMP = " & LessThanOperator > If GraterThanOperator <> "" Then szSQL = szSQL & ", GTCMP = " & GraterThanOperator 289c303,305 < Set objOperator = iAdd(rs.Fields("oid"), rs!oprname & "", rs!opowner & "", rs!oprkind & "", ToBool(rs!oprcanhash), rs!oprleft, rs!oprright, rs!oprresult, rs!oprcom, rs!oprnegate, rs!oprlsortop, rs!oprrsortop, rs!oprcode & "", rs!oprrest & "", rs!oprjoin & "") --- > Dim tmpMergeJoin As Boolean > If rs!oprlsortop = 0 And rs!oprrsortop = 0 And rs!oprltcmpop = 0 And rs!oprgtcmpop = 0 Then: tmpMergeJoin = False: Else: tmpMergeJoin = True > Set objOperator = iAdd(rs.Fields("oid"), rs!oprname & "", rs!opowner & "", rs!oprkind & "", ToBool(rs!oprcanhash), rs!oprleft, rs!oprright, rs!oprresult, rs!oprcom, rs!oprnegate, rs!oprlsortop, rs!oprrsortop, rs!oprcode & "", rs!oprrest & "", rs!oprjoin & "", tmpMergeJoin, rs!oprltcmpop & "", rs!oprgtcmpop & "") 407d422 < 419c434,436 < iAdd rs.Fields("oid"), rs!oprname & "", rs!opowner & "", rs!oprkind & "", ToBool(rs!oprcanhash), rs!oprleft, rs!oprright, rs!oprresult, rs!oprcom, rs!oprnegate, rs!oprlsortop, rs!oprrsortop, rs!oprcode & "", rs!oprrest & "", rs!oprjoin & "" --- > Dim tmpMergeJoin As Boolean > If rs!oprlsortop = 0 And rs!oprrsortop = 0 And rs!oprltcmpop = 0 And rs!oprgtcmpop = 0 Then: tmpMergeJoin = False: Else: tmpMergeJoin = True > iAdd rs.Fields("oid"), rs!oprname & "", rs!opowner & "", rs!oprkind & "", ToBool(rs!oprcanhash), rs!oprleft, rs!oprright, rs!oprresult, rs!oprcom, rs!oprnegate, rs!oprlsortop, rs!oprrsortop, rs!oprcode & "", rs!oprrest & "", rs!oprjoin & "", tmpMergeJoin, rs!oprltcmpop & "", rs!oprgtcmpop & "" Index: pgschema/pgOperator.cls =================================================================== RCS file: /home/saito/dev/PGADMIN-II/pgadmin2/pgschema/pgOperator.cls,v retrieving revision 1.1 retrieving revision 1.2 diff -r1.1 -r1.2 43a44,47 > ' > Private bMergeJoins As Boolean > Private szLessThanOperator As String > Private szGreaterThanOperator As String 328a333,352 > 'Set/Return MergeJoins? > Friend Property Let MergeJoins(ByVal vData As Boolean) > If inIDE Then: On Error GoTo 0: Else: On Error GoTo Err_Handler > objServer.iLogEvent "Entering " & App.Title & ":pgOperator.Property Let MergeJoins(" & vData & ")", etFullDebug > > bMergeJoins = vData > > Exit Property > Err_Handler: objServer.iLogError Err.Number, Err.Description > End Property > Public Property Get MergeJoins() As Boolean > Attribute MergeJoins.VB_Description = "Returns a value indicating whether the Operator supports Merge Joins." > If inIDE Then: On Error GoTo 0: Else: On Error GoTo Err_Handler > objServer.iLogEvent "Entering " & App.Title & ":pgOperator.Property Get MergeJoins()", etFullDebug > > MergeJoins = bMergeJoins > > Exit Property > Err_Handler: objServer.iLogError Err.Number, Err.Description > End Property 466d489 < Attribute RightTypeSortOperator.VB_Description = "Returns the Operator's right type-sort Operator." 475a499,540 > 'Set/Return the LessThanOperator > Friend Property Let LessThanOperator(ByVal vData As String) > If inIDE Then: On Error GoTo 0: Else: On Error GoTo Err_Handler > objServer.iLogEvent "Entering " & App.Title & ":pgOperator.Property Let LessThanOperator(" & QUOTE & vData & QUOTE & ")", etFullDebug > > szLessThanOperator = vData > > Exit Property > Err_Handler: objServer.iLogError Err.Number, Err.Description > End Property > Public Property Get LessThanOperator() As String > Attribute LessThanOperator.VB_Description = "Returns the Operator's less-then Operator." > If inIDE Then: On Error GoTo 0: Else: On Error GoTo Err_Handler > objServer.iLogEvent "Entering " & App.Title & ":pgOperator.Property Get LessThanOperator()", etFullDebug > > LessThanOperator = szLessThanOperator > > Exit Property > Err_Handler: objServer.iLogError Err.Number, Err.Description > End Property > > 'Set/Return the GreaterThanOperator > Friend Property Let GreaterThanOperator(ByVal vData As String) > If inIDE Then: On Error GoTo 0: Else: On Error GoTo Err_Handler > objServer.iLogEvent "Entering " & App.Title & ":pgOperator.Property Let GreaterThanOperator(" & QUOTE & vData & QUOTE & ")", etFullDebug > > szGreaterThanOperator = vData > > Exit Property > Err_Handler: objServer.iLogError Err.Number, Err.Description > End Property > Public Property Get GreaterThanOperator() As String > Attribute GreaterThanOperator.VB_Description = "Returns the Operator's greater-then Operator." > If inIDE Then: On Error GoTo 0: Else: On Error GoTo Err_Handler > objServer.iLogEvent "Entering " & App.Title & ":pgOperator.Property Get GreaterThanOperator()", etFullDebug > > GreaterThanOperator = szGreaterThanOperator > > Exit Property > Err_Handler: objServer.iLogError Err.Number, Err.Description > End Property > 594a660 > If bMergeJoins Then szSQL = szSQL & ", MERGES" 596a663,664 > If szLessThanOperator <> "" Then szSQL = szSQL & ", LTCMP = " & szLessThanOperator > If szGreaterThanOperator <> "" Then szSQL = szSQL & ", GTCMP = " & szGreaterThanOperator