Skip to content

Commit a93ab9c

Browse files
committed
fix: corrigido problema com o operador extern sort
1 parent 1214ca4 commit a93ab9c

18 files changed

+98
-289
lines changed

afazer.txt

Lines changed: 8 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,30 @@
11

22

3+
Tabela dinamica -> {
4+
- Criar storage para armazenar itens dinamicos
5+
}
6+
7+
38
Tabela de indexes -> {
49
- Arvore B+ para armazenamento de tabelas
510
- Operadores que usam indexes
11+
- Criar indice primario que não seja a primary key
12+
- Criar um complete table que use um indice primario e tenha tabelas de indices adicionais
613
}
714

815
Locks e permissões de acesso -> {
916
- MVCC
10-
}
11-
12-
13-
Testes de query -> {
14-
- TPC-H https://www.tpc.org/tpch/
15-
17+
- Remover todos os sitema de locks que existe hoje e refazer do zero.
1618

1719
}
1820

19-
2021
Parquet estrutura:
2122
https://parquet.apache.org/documentation/latest/
2223

2324

2425
PrestoDB:
2526
https://prestodb.io/docs/current/#
2627

27-
Testar:{
28-
2928

30-
- Simple Table {
31-
- Testar desempenho atual máximo -> Testado sem valores reais
32-
- Consistencia de dados -> OK
33-
- Query Builder
34-
}
35-
36-
37-
- Memory Table -> RecordManager ArvoreBTree memoria{
38-
- Testar desempenho atual comparado com simple table -> Testado sem valores reais
39-
- Consistencia de dados -> OK
40-
- Query Builder
41-
}
42-
43-
- Double Table -Implementar{
44-
- Testar desempenho atual comparado com simple table e memory table
45-
- Consistencia de dados
46-
}
47-
48-
49-
- Group Operator {
50-
- Testar se está funcionando com o min e max, etc...
51-
}
52-
53-
54-
55-
}
5629

5730

src/main/java/engine/file/blocks/commitable/CommitableBlockStream.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import java.lang.reflect.Array;
44
import java.util.Arrays;
5+
import java.util.Collections;
56
import java.util.LinkedList;
7+
import java.util.List;
68

79
import engine.exceptions.DataBaseException;
810
import engine.file.streams.WriteByteStream;
@@ -42,6 +44,9 @@ public int write(long pos, byte[] data, int offset, int len) {
4244
for(int x=0;x<len && pos+x<blockSize;x++){
4345
buffer[(int)pos+x] = (short) data[offset+x];
4446
}
47+
//System.arraycopy(data,offset,buffer,(int)pos, (int)((len<blockSize-pos)?len:(blockSize-pos)));
48+
49+
4550
//changes.addLast(bw);
4651
if(pos+len>blockSize)return (int) (blockSize-pos);
4752
else return len;

src/main/java/sgbd/query/Main.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,15 @@ public static void main(String[] args) {
3434
Operator scan1 = new TableScan(biostats);
3535
Operator scan2 = new TableScan(mlbplayers);
3636

37-
Operator cartesiano = new BlockNestedLoopJoin(scan2,scan1,(t1, t2) -> true);
37+
Operator group = new GroupOperator(scan2,"mlbplayers","Team",List.of(
38+
new CountAgregation()
39+
));
3840

41+
Operator exec = group;
3942

40-
TestOperators.testOperator(cartesiano,15); // Executa select por 15 itens
41-
TestOperators.testOperator(cartesiano,15); // Executa select por 15 itens
42-
TestOperators.testOperator(cartesiano,15); // Executa select por 15 itens
43+
44+
TestOperators.testOperator(exec,15); // Executa select por 15 itens
45+
TestOperators.testOperator(exec); // Executa select por 15 itens
4346

4447
//Fecha as tables, não serão mais acessadas
4548

src/main/java/sgbd/query/Operator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public interface Operator {
1111
public Tuple next();
1212
public boolean hasNext();
1313
public void close();
14-
public void clearTempFile();
14+
public void freeResources();
1515

1616
public List<Table> getSources();
1717
public Map<String,List<String>> getContentInfo();

src/main/java/sgbd/query/TestOperators.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public static void testOperator(Operator executor,long limit){
5959
}
6060
//Fecha operador
6161
executor.close();
62-
executor.clearTempFile();
62+
executor.freeResources();
6363
System.out.println("Count: "+count);
6464
}
6565

src/main/java/sgbd/query/agregation/CountAgregation.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@ public CountAgregation(String sourceSrc, String columnSrc, String sourceDst, Str
1111
public CountAgregation(String sourceSrc, String columnSrc) {
1212
super(sourceSrc, columnSrc);
1313
}
14+
public CountAgregation(String sourceSrc) {
15+
super(sourceSrc, "*");
16+
}
17+
public CountAgregation() {
18+
super("*", "*");
19+
}
1420

1521
@Override
1622
public String getAgregationName() {

src/main/java/sgbd/query/binaryop/BinaryOperator.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ public void close() {
4444
}
4545

4646
@Override
47-
public void clearTempFile() {
48-
this.left.clearTempFile();
49-
this.right.clearTempFile();
47+
public void freeResources() {
48+
this.left.freeResources();
49+
this.right.freeResources();
5050
}
5151

5252
public List<Table> getSources(){

src/main/java/sgbd/query/sourceop/FilterTableScan.java

Lines changed: 0 additions & 63 deletions
This file was deleted.

src/main/java/sgbd/query/sourceop/PKFilterTableScan.java

Lines changed: 0 additions & 78 deletions
This file was deleted.

src/main/java/sgbd/query/sourceop/SourceOperator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public List<Table> getSources(){
2727
}
2828

2929
@Override
30-
public void clearTempFile(){
30+
public void freeResources(){
3131

3232
}
3333

0 commit comments

Comments
 (0)