Skip to content

Commit f8666a4

Browse files
committed
Bug Fixed: Add2 method from CSVArrayList class was broken.
1 parent 14771b8 commit f8666a4

File tree

1 file changed

+34
-35
lines changed

1 file changed

+34
-35
lines changed

src/CSVArrayList.cls

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -155,15 +155,15 @@ End Property
155155
''' <summary>
156156
''' Gets all indexed Items from the current instance.
157157
''' </summary>
158-
Public Property Get keys() As String()
158+
Public Property Get Keys() As String()
159159
Dim tmpResult() As String
160160
Dim iCounter As Long
161161

162162
ReDim tmpResult(0 To IndexedCurrentIndex)
163163
For iCounter = 0 To IndexedCurrentIndex
164164
tmpResult(iCounter) = IndexedBuffer(iCounter).itemKey
165165
Next iCounter
166-
keys = tmpResult
166+
Keys = tmpResult
167167
End Property
168168

169169
''' <summary>
@@ -324,7 +324,6 @@ Attribute Add2.VB_Description = "Appends a copy, in jagged array fashion, of the
324324
Next j
325325
Else
326326
If IsJaggedArray(aValues(i)) Then
327-
CurrentIndex = CurrentIndex - 1
328327
For j = LBound(aValues(i)) To UBound(aValues(i))
329328
Add2 aValues(i)(j)
330329
Next j
@@ -508,10 +507,10 @@ End Sub
508507
''' </summary>
509508
''' <param name="Keys">Indexes of the fields used for deduplication.</param>
510509
''' <param name="headers">Indicates if the data has a header record.</param>
511-
Public Function Dedupe(keys As String, Optional Headers As Boolean = True) As CSVArrayList
510+
Public Function Dedupe(Keys As String, Optional Headers As Boolean = True) As CSVArrayList
512511
On Error GoTo ErrHandler_Dedupe
513512
Dim aIndexes() As String
514-
aIndexes() = SplitFieldsOrderStr(keys)
513+
aIndexes() = SplitFieldsOrderStr(Keys)
515514
If CheckForDupIndexes(aIndexes) Then
516515
Dim IndexesCollection As Collection
517516
Dim dRecCounter As Long
@@ -533,19 +532,19 @@ Public Function Dedupe(keys As String, Optional Headers As Boolean = True) As CS
533532
ErrHandler_Dedupe:
534533
Set Dedupe = Nothing
535534
End Function
536-
Private Function DedupeKeysMerge(aIndex As Long, keys As Variant) As String
535+
Private Function DedupeKeysMerge(aIndex As Long, Keys As Variant) As String
537536
Dim tmpResult() As Variant
538537
Dim kLB As Long
539538
Dim kUb As Long
540539
Dim keyCounter As Long
541540
Dim tgRecord() As Variant
542541

543-
kLB = LBound(keys)
544-
kUb = UBound(keys)
542+
kLB = LBound(Keys)
543+
kUb = UBound(Keys)
545544
ReDim tmpResult(kLB To kUb)
546545
tgRecord() = Buffer(aIndex)
547546
For keyCounter = kLB To kUb
548-
tmpResult(keyCounter) = tgRecord(CLng(keys(keyCounter)))
547+
tmpResult(keyCounter) = tgRecord(CLng(Keys(keyCounter)))
549548
Next keyCounter
550549
DedupeKeysMerge = Join$(tmpResult, "|")
551550
End Function
@@ -705,18 +704,18 @@ Public Function Filter(Pattern As String, startIndex As Long, _
705704
With Evaluator
706705
If Headers Then
707706
.Create SwitchUnderscoresAndSpaces(Pattern, Buffer(0))
708-
evalWithOutVar = (.currentVariables = vbNullString)
707+
evalWithOutVar = (.CurrentVariables = vbNullString)
709708
If Not evalWithOutVar Then
710-
TargetFields() = GetIndexesFromVarList(SwitchUnderscoresAndSpaces(.currentVariables, Buffer(0), ToUnderscores:=False), Buffer(0))
709+
TargetFields() = GetIndexesFromVarList(SwitchUnderscoresAndSpaces(.CurrentVariables, Buffer(0), ToUnderscores:=False), Buffer(0))
711710
'Replace
712-
cPattern = RebuildEvalExpression(.expression, .currentVariables, TargetFields)
711+
cPattern = RebuildEvalExpression(.expression, .CurrentVariables, TargetFields)
713712
.Create cPattern
714713
End If
715714
Else
716715
.Create Pattern
717-
evalWithOutVar = (.currentVariables = vbNullString)
716+
evalWithOutVar = (.CurrentVariables = vbNullString)
718717
If Not evalWithOutVar Then
719-
TargetFields() = GetIndexesFromVarList(.currentVariables)
718+
TargetFields() = GetIndexesFromVarList(.CurrentVariables)
720719
End If
721720
End If
722721
For rCounter = startIndex - 1 To endIndex
@@ -729,7 +728,7 @@ Public Function Filter(Pattern As String, startIndex As Long, _
729728
End If
730729
If .errorType = ExpressionErrors.errNone Then
731730
If err.Number = 0 Then
732-
If CBool(.result) Then
731+
If CBool(.Result) Then
733732
If Not Exclude Then
734733
Filter.Add Buffer(rCounter) 'Append current record
735734
End If
@@ -1421,13 +1420,13 @@ Public Function InsertField(aIndex As Long, _
14211420
With Evaluator
14221421
.formatResult = True
14231422
.Create SwitchUnderscoresAndSpaces(Formula, Buffer(0))
1424-
evalWithOutVar = (.currentVariables = vbNullString)
1423+
evalWithOutVar = (.CurrentVariables = vbNullString)
14251424
If Not evalWithOutVar Then
14261425
TargetFields() = GetIndexesFromVarList( _
1427-
SwitchUnderscoresAndSpaces(.currentVariables, Buffer(0), ToUnderscores:=False), _
1426+
SwitchUnderscoresAndSpaces(.CurrentVariables, Buffer(0), ToUnderscores:=False), _
14281427
Buffer(0))
14291428
'Replace
1430-
cFormula = RebuildEvalExpression(.expression, .currentVariables, TargetFields)
1429+
cFormula = RebuildEvalExpression(.expression, .CurrentVariables, TargetFields)
14311430
.Create cFormula
14321431
End If
14331432
End With
@@ -1675,7 +1674,7 @@ Private Function SplitFieldsOrderStr(fieldsString As String) As String()
16751674
End With
16761675
End If
16771676
tmpResult.Sort
1678-
SplitFieldsOrderStr = tmpResult.keys
1677+
SplitFieldsOrderStr = tmpResult.Keys
16791678
Set tmpResult = Nothing
16801679
End Function
16811680
Private Function formatColumnPredicate(predicate As String, _
@@ -1728,7 +1727,7 @@ Private Function formatJoinPredicate(predicate As String, _
17281727
SwitchedExpr = predicateCP <> predicate
17291728
Set exprHelper = New CSVexpressions
17301729
exprHelper.Create predicateCP
1731-
tmpVariables() = Split(exprHelper.currentVariables, "; ")
1730+
tmpVariables() = Split(exprHelper.CurrentVariables, "; ")
17321731
For iterator = LBound(tmpVariables) To UBound(tmpVariables)
17331732
varComposition() = Split(tmpVariables(iterator), d_dot)
17341733
cLB = LBound(varComposition)
@@ -2066,11 +2065,11 @@ Public Function LeftJoin(ByRef leftTable As CSVArrayList, _
20662065
evalRecord_BK() = evalRecord
20672066
.Create cPredicate
20682067
cPredicate = BindToEvalTable(.expression, _
2069-
.currentVariables, _
2068+
.CurrentVariables, _
20702069
fullReqFields, UBound(leftTable(0)) - leftIdxDelta)
20712070

20722071
.Create cPredicate
2073-
FilterFields() = GetIndexesFromVarList(.currentVariables)
2072+
FilterFields() = GetIndexesFromVarList(.CurrentVariables)
20742073
End If
20752074
For rCounter = Abs(Headers) To leftTable.count - 1
20762075
'Initial configurations
@@ -2131,7 +2130,7 @@ Public Function LeftJoin(ByRef leftTable As CSVArrayList, _
21312130
.Eval GetValuesForVariables(rCounter, FilterFields, False, evalRecord)
21322131
If .errorType = ExpressionErrors.errNone Then
21332132
If err.Number = 0 Then
2134-
If CBool(.result) Then
2133+
If CBool(.Result) Then
21352134
'Fill in the data in the table on the right only if the join and predicate are satisfied.
21362135
If lJoinIndex > -1 Then
21372136
For sCounter = LftTblENDidx + 1 To UBound(resultRecord)
@@ -2252,11 +2251,11 @@ Public Function RightJoin(ByRef leftTable As CSVArrayList, _
22522251
evalRecord_BK() = evalRecord
22532252
.Create cPredicate
22542253
cPredicate = BindToEvalTable(.expression, _
2255-
.currentVariables, _
2254+
.CurrentVariables, _
22562255
fullReqFields, UBound(leftTable(0)) - leftIdxDelta)
22572256

22582257
.Create cPredicate
2259-
FilterFields() = GetIndexesFromVarList(.currentVariables)
2258+
FilterFields() = GetIndexesFromVarList(.CurrentVariables)
22602259
End If
22612260
For rCounter = Abs(Headers) To rightTable.count - 1
22622261
'Initial configurations
@@ -2317,7 +2316,7 @@ Public Function RightJoin(ByRef leftTable As CSVArrayList, _
23172316
.Eval GetValuesForVariables(rCounter, FilterFields, False, evalRecord)
23182317
If .errorType = ExpressionErrors.errNone Then
23192318
If err.Number = 0 Then
2320-
If CBool(.result) Then
2319+
If CBool(.Result) Then
23212320
'Fill in the data in the table on the left only if the join and predicate are satisfied.
23222321
If lJoinIndex > -1 Then
23232322
For sCounter = 0 To LftTblENDidx
@@ -2438,11 +2437,11 @@ Public Function InnerJoin(ByRef leftTable As CSVArrayList, _
24382437
evalRecord_BK() = evalRecord
24392438
.Create cPredicate
24402439
cPredicate = BindToEvalTable(.expression, _
2441-
.currentVariables, _
2440+
.CurrentVariables, _
24422441
fullReqFields, UBound(leftTable(0)) - leftIdxDelta)
24432442

24442443
.Create cPredicate
2445-
FilterFields() = GetIndexesFromVarList(.currentVariables)
2444+
FilterFields() = GetIndexesFromVarList(.CurrentVariables)
24462445
End If
24472446
For rCounter = Abs(Headers) To leftTable.count - 1
24482447
'Initial configurations
@@ -2498,7 +2497,7 @@ Public Function InnerJoin(ByRef leftTable As CSVArrayList, _
24982497
.Eval GetValuesForVariables(rCounter, FilterFields, False, evalRecord)
24992498
If .errorType = ExpressionErrors.errNone Then
25002499
If err.Number = 0 Then
2501-
If CBool(.result) Then
2500+
If CBool(.Result) Then
25022501
'Fill in the data in the table.
25032502
If lJoinIndex > -1 Then
25042503
For sCounter = 0 To LftTblENDidx
@@ -3295,18 +3294,18 @@ Public Function Reduce(ReductionExpression As String, startIndex As Long, _
32953294
With Evaluator
32963295
If Headers Then
32973296
.Create SwitchUnderscoresAndSpaces(ReductionExpression, Buffer(0))
3298-
evalWithOutVar = (.currentVariables = vbNullString)
3297+
evalWithOutVar = (.CurrentVariables = vbNullString)
32993298
If Not evalWithOutVar Then
3300-
TargetFields() = GetIndexesFromVarList(SwitchUnderscoresAndSpaces(.currentVariables, Buffer(0), ToUnderscores:=False), Buffer(0))
3299+
TargetFields() = GetIndexesFromVarList(SwitchUnderscoresAndSpaces(.CurrentVariables, Buffer(0), ToUnderscores:=False), Buffer(0))
33013300
'Replace
3302-
cPattern = RebuildEvalExpression(.expression, .currentVariables, TargetFields)
3301+
cPattern = RebuildEvalExpression(.expression, .CurrentVariables, TargetFields)
33033302
.Create cPattern
33043303
End If
33053304
Else
33063305
.Create ReductionExpression
3307-
evalWithOutVar = (.currentVariables = vbNullString)
3306+
evalWithOutVar = (.CurrentVariables = vbNullString)
33083307
If Not evalWithOutVar Then
3309-
TargetFields() = GetIndexesFromVarList(.currentVariables)
3308+
TargetFields() = GetIndexesFromVarList(.CurrentVariables)
33103309
End If
33113310
End If
33123311
For rCounter = startIndex - 1 To endIndex - 1
@@ -3317,7 +3316,7 @@ Public Function Reduce(ReductionExpression As String, startIndex As Long, _
33173316
On Error Resume Next
33183317
.Eval
33193318
End If
3320-
tmpElement(0) = FormatEvalOutput(.result)
3319+
tmpElement(0) = FormatEvalOutput(.Result)
33213320
tmpResult(0 + rCounter - startIndex + 1) = tmpElement 'reduce
33223321
Next rCounter
33233322
End With

0 commit comments

Comments
 (0)