-
Notifications
You must be signed in to change notification settings - Fork 269
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ΕΡΓΑΣΙΑ ΣΔΒΔ ΣΕΠΤΕΜΒΡΙΟΣ 2023 #232
Open
Kapiniaris-Xrisovalantis
wants to merge
17
commits into
DataStories-UniPi:master
Choose a base branch
from
Kapiniaris-Xrisovalantis:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
ΕΡΓΑΣΙΑ ΣΔΒΔ ΣΕΠΤΕΜΒΡΙΟΣ 2023 #232
Kapiniaris-Xrisovalantis
wants to merge
17
commits into
DataStories-UniPi:master
from
Kapiniaris-Xrisovalantis:master
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
updated the where statements for select,delete,update and search throught btree, added unique support, added btree unique support and some hash index support
added in wrong folder
added in wrong folder
added in wrong folder
added in wrong folder
updated where statements for select,delete,update, added unique support, added btree support for unique column, added hash index
Add files via upload
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ΟΜΑΔΑ:
Καπινιάρης Χρυσοβαλάντης Γεώργιος - Π20229
Κουρτίδης Γεώργιος - Π20101
Περιστεράκη Μαρία - Π20159
ΠΕΡΙΓΡΑΦΗ:
![image](https://private-user-images.githubusercontent.com/92021533/265482878-fed9ca0d-bbb2-4994-9e21-87fb2b2e41d9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODI4NzgtZmVkOWNhMGQtYmJiMi00OTk0LTllMjEtODdmYjJiMmU0MWQ5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNkMjc5ZWNhM2MwMWVlMTVhNTExNTQzY2ZkZmRkZWJhMGNhMzAxODlmZjI0N2UxZGE5ZTMyNTY4NTA3M2Y2ZmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.5rekECKQAAsbl3pAD68pEpSisWimkqS-zzk_P90TnwU)
![image](https://private-user-images.githubusercontent.com/92021533/265482957-1c5d38d2-d75a-4dba-97e7-dde26784130f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODI5NTctMWM1ZDM4ZDItZDc1YS00ZGJhLTk3ZTctZGRlMjY3ODQxMzBmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkyZTdiODljMWNmYjZmODA3YTQ4MDkyY2Q0ZjIzMjI4Mzc1MWRjYjUxNzk4MTc5ODhhYzRjYWFkODViNWNhY2EmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.NV5khIqsze4qIxdhft4fudKl-ehDnfVNsdJic5xgxWI)
#issue 1
_parse_condition
Στην parse_condition έγιναν αλλαγές για να αναγνωρίζεται όχι μόνο η μορφή "column-operator-value" αλλά και η μορφή "value-operator-column".
Ελέγχει αν το column βρίσκεται στο δεξί ή στο αριστερό μέρος του operator, ελέγχοντας αν υπάρχει μέσα στο table ως όνομα κάποιου column. Επιστέφει το αποτέλεσμα σε μορφή "column-operator-value".
split_condition
![image](https://private-user-images.githubusercontent.com/92021533/265483046-480d4474-0276-4f9c-9649-0181bec78745.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODMwNDYtNDgwZDQ0NzQtMDI3Ni00ZjljLTk2NDktMDE4MWJlYzc4NzQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE5ZDg0MTFjY2VhOWU3NzcwNDI1MmQyMTdlNGJkZmYzZmZhNTIzZjM2MmQ4MGY2MGIxZGMwNmMzZjVlZGVlZDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.C4q4ugqC_qdoA6Na55fgb8uuf3-P6OvPEqhlU0UxrSA)
![image](https://private-user-images.githubusercontent.com/92021533/265483102-9c7ce6ec-932e-4986-a18c-74110ba17f7a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODMxMDItOWM3Y2U2ZWMtOTMyZS00OTg2LWExOGMtNzQxMTBiYTE3ZjdhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMzZDNiODhkNDhhMzU4NmYwYWY3YjFlNjIzY2I2ZWIyN2Y0OTgxNjYxODc2ODM2ZDM4MGQyMzFmMjg3YmEzNmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.htI6ZpfHPu8ZpEVN7iP94QCrV1ELwdGPhHBfX0xRsKg)
Στο split_condition έγιναν αλλαγές για την υποστήριξη του "not". Αν το condition ξεκινά με "not" , το διώχνει τελείως και κάνει μια μεταβλητή negate=-1. Αν το negate είναι -1 αντιστρέφει το operator του condition ως εξής:
replace_between
![image](https://private-user-images.githubusercontent.com/92021533/265483909-0ff58e8a-a3a6-4195-900f-65379a5756cb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODM5MDktMGZmNThlOGEtYTNhNi00MTk1LTkwMGYtNjUzNzlhNTc1NmNiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc5NDMxYTUwZTc1YWExZjdhZjdiYjgwMmVjYzQ0ZmY1NDAyMDdhYzk1MmRmNzA2M2UwNzA3NmFhZTMzNDliNzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.LIi2wvBjvUZLr47jYlF-f4YiMNraDGi45SX0PiKiQu4)
Η replace between αντικαθιστά τα "BETWEEN" queries με "AND". Αυτό επιτυγχάνεται αφού το between είναι ένα and που γίνεται μεταξύ 2 τιμών σε ένα column.
select_where
Στην αρχή μετατρέπουμε τυχόν "between" queries σε "and" και κάνουμε split το condition πάνω σε τυχόν "or".
Στη συνέχεια αφαιρούμε τυχόν "not" και αν υπάρχει "not" στην αρχή του condition, αντιστρέφουμε το αποτέλεσμα που θα έφερνε το query.
Για το and παίρνουμε τα αποτελέσματα και των δυο μελών του and και επιστέφουμε το σύνολο τους.
select * from instructor where salary>50000 and salary<80000
select * from instructor where not id=10101
![image](https://private-user-images.githubusercontent.com/92021533/265487630-830ced74-6fe5-480f-875c-a6c5ce9a4894.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODc2MzAtODMwY2VkNzQtNmZlNS00ODBmLTg3NWMtYTZjNWNlOWE0ODk0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJhZDg4YzEyY2ZkNGY4NTMyMTBkYThjZDllMWUyYjRmN2MxM2Q2MWY5OTAyYzk3ZDAzMmRlYTIwYWFjMTMyODMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.lGTswAy-GTqLLAnPUbf_4dCeCog-LtKNHfOz03bIAqQ)
select * from instructor where id between 15000 and 46000
![image](https://private-user-images.githubusercontent.com/92021533/265487949-40f298a1-f4fd-4052-b0bf-b541a6979d0d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODc5NDktNDBmMjk4YTEtZjRmZC00MDUyLWIwYmYtYjU0MWE2OTc5ZDBkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTlmNjY3MjkxNzk2NDdiYjI5MTc1MDhjNzc2YjVjMTdiOWVmZDc5ZTM2ODAzNGU1NWU0YjU0MWRmZjE0NzQyYjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.os3U8lkADJ_PKtPLjdSBL8LGYJxMopq8caERfX5EM-c)
select * from instructor where salary=65000 or salary=90000
![image](https://private-user-images.githubusercontent.com/92021533/265487663-5574a51d-3fe0-4ba7-9ec3-96d813a1a263.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODc2NjMtNTU3NGE1MWQtM2ZlMC00YmE3LTllYzMtOTZkODEzYTFhMjYzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ4OTY5ODNiYWE1YjBhMmM3YzMxNzQzYWQ5NGNkYzg2ZmExYmU2YzVlMTlkMTAwOWU4NjdlNWI0ZmM0NTUyOWYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Vcx_B4pjgbKvxbKTB65fkqtWm0YP5h-fvEBvvYSDPKA)
To delete_where και το update_rows γίνονται με τον ίδιο τρόπο με το select.
![image](https://private-user-images.githubusercontent.com/92021533/265487452-59954c3e-0e57-4641-99ff-5fc496edf5c1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODc0NTItNTk5NTRjM2UtMGU1Ny00NjQxLTk5ZmYtNWZjNDk2ZWRmNWMxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY3ZTQ1NTcwYmRiM2ZiNzIwMzY5YjhlN2JmYzIzNjU1NDZhNWRmNDUyN2EwNzlmOTgwYzE1MmIzNzE1NjBmMGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.z566pwBmLDqOtRUQyaGQClzTXLF9hLUSMmwZBr_PStE)
![image](https://private-user-images.githubusercontent.com/92021533/265488190-cb05b8f4-2586-443c-863b-9b0efe0f8db5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODgxOTAtY2IwNWI4ZjQtMjU4Ni00NDNjLTg2M2ItOWIwZWZlMGY4ZGI1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRkNDYwZDFmYmY1NmNkMGE4YjNiYzI0ZmFmMzk4YmIwY2NjNjM3ODMyM2RmMDYyMTdhNWRiYmMyZTAzN2E4MWMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.0wGXB7xoZph1Hw5UQFpahfOajSihPQUNTCXckLpsp30)
![image](https://private-user-images.githubusercontent.com/92021533/265488223-7eb1eeb6-c13d-4921-a395-3d29a90e3716.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODgyMjMtN2ViMWVlYjYtYzEzZC00OTIxLWEzOTUtM2QyOWE5MGUzNzE2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY3ODcxYjFiN2VlMGRmYjQ0ODU4MzBjNzk0ODI3NGIwYzE5ZjJjZjE1ODlmZTNlNjM3YWMwMDRiNDkwYTVmZmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.bPiCNZdSsTNmGLyBOvswn4PmA6vcyY5p9H4PDaiQ2r8)
![image](https://private-user-images.githubusercontent.com/92021533/265488240-dc1248fc-4dc9-498b-9242-54b2b090bab8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODgyNDAtZGMxMjQ4ZmMtNGRjOS00OThiLTkyNDItNTRiMmIwOTBiYWI4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRiZjBhODcyYzYyNmRmZWFjNTIyNTc5MTUwZmMyMTFmOTEyNzY3MDdlM2I1OTM2NDM4NGY5YTBlMDEyYmExYTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.3nqS8njXlR2Avm_mrXPnb1xVbvy_RAlndZwNA8HZV3U)
![image](https://private-user-images.githubusercontent.com/92021533/265487492-f08c6337-8957-479c-9cf1-8256f9987d93.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODc0OTItZjA4YzYzMzctODk1Ny00NzljLTljZjEtODI1NmY5OTg3ZDkzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThlYzJlYTBkYjE2NzgyNmVjYmZmMTM4M2FmNjYyNDZkYWU4ZWFmZGQyYmUwZDhjOGI4NTljZDVkYzYzYjRlZjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.j58goGNRlT2HxHnrNyBMYyTU3KyWUd4Nm-dpWsDKaJg)
![image](https://private-user-images.githubusercontent.com/92021533/265488402-410d9338-534e-46b4-b661-08dfc895dbcd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODg0MDItNDEwZDkzMzgtNTM0ZS00NmI0LWI2NjEtMDhkZmM4OTVkYmNkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM4ZGRlYmE4ZWQ4NmIzMzM1ZWEzNWU4NjFhZjc0NTA3ZGU0YWNlZDUxMjMzNjY4OTk2ODBhMWZmNTQ3NDE4ODYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.LxMK-SCu_-blnx3wvIOMYX1n02MGYf1-VO6Qi5i0b2E)
![image](https://private-user-images.githubusercontent.com/92021533/265488414-41cee583-7cc7-4c7d-9722-f80d4cc81d30.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODg0MTQtNDFjZWU1ODMtN2NjNy00YzdkLTk3MjItZjgwZDRjYzgxZDMwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ5NzJjZjQ4OTVkMzI4YzRhYTRkZmJmMTA5ZDQwYTZjMmI1ZGI0OWM3ZjllZGU1YjU1NjU4NzM3OGUzMWQ1NGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.OJ7CpuCvwRfawOk3PaQQKUd8CiT7kf2_HVXxfASSXR4)
![image](https://private-user-images.githubusercontent.com/92021533/265488434-60d026c2-a49c-4b82-8019-496b02ed488e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODg0MzQtNjBkMDI2YzItYTQ5Yy00YjgyLTgwMTktNDk2YjAyZWQ0ODhlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU5YTAxYTllYjIxYTQwNjVkYmUzY2E0YTk3OGNiMjExZjNkMjI0MDUxZDk0MTYwYTA4Y2QyMTc2YzFlOTRhNTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0._XXhs9nAk452jFUXzgRlz29JZMAOLOTlnQLFRRhyNJc)
delete_where
update_rows
#Issue 2
![image](https://private-user-images.githubusercontent.com/92021533/265489911-b449ad91-284c-4461-b6d2-0809f5b4f439.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODk5MTEtYjQ0OWFkOTEtMjg0Yy00NDYxLWI2ZDItMDgwOWY1YjRmNDM5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBlODVjYTAxMWNjMzlmMDk1NDM3ODM1MjBiNWI0ZDVhMGUxM2I4MDRkOTdmMmJjMmQ0YTlkNDdmZTJiZjkyOWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.6rc_KyfmCMxmIkqEopECMb4aZ4edugP7sDwNgl4Q2kk)
![image](https://private-user-images.githubusercontent.com/92021533/265490563-8f477a75-a8ad-4ea5-be99-d158619e23a0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0OTA1NjMtOGY0NzdhNzUtYThhZC00ZWE1LWJlOTktZDE1ODYxOWUyM2EwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc2MTY3NTMxOWNjOWYyMmFlOWM4MDEwYWQwZTc0NGFkMDA2ZjZhOGY2YzFiNmFjMTgzNmQ4ZGUyMWVlNWMyNDEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.0m-ehrtnwmtgC-k84U5QCYcm-vgbDIAj7Dx52NGwg4E)
![image](https://private-user-images.githubusercontent.com/92021533/265489604-242d1213-2456-4803-97f7-000b62279a16.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0ODk2MDQtMjQyZDEyMTMtMjQ1Ni00ODAzLTk3ZjctMDAwYjYyMjc5YTE2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkwMGNiZTk4YmNhMGJmYWU4MGIyMTNlZTE0YTBhYTg5Mjc1ZTE0MTcwOTJhMjdiZGJhOTg5MTI1ZDY3ODQ0NzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.wrFiGB6Y_90ruu35K2CNTXX6LgoCPWvFBWqHV9J0Rws)
unique column support
Για να δουμε αν ενα column ειναι unique οταν δημιουργητε ενας νεος πινακας στην create_query_plan μπήκαν οι παρακάτω γραμμές στο if action="create_table"
προστέθηκε επισης ενα σημαδι ώστε να φαινεται αν ενα column ειναι unique
indexes
Αρχικά προστέθηκε στο select στο database.py κώδικας που θα μας επιτρέψει να βρουμε σε ποιο column αναφέρεται το query ωστε σε περίπτωση που ειναι ενα με index να πράξουμε αναλόγως.
Αφου πάρουμε τη στηλη αν υπαρχει καποιο index πανω σε αυτη τη στηλη ελεγχουμε αν το index ειναι hash ή btree και καλουμε την κατάλληλη συνάρτηση.
Συγκεκριμένα στο hash index, εφοσον το hash δεν υποστηρίζει ερωτήσεις διαστήματος θα πάει μεσω του index μονο αν η ερωτηση ειναι ταυτοτητας.
create_index
![image](https://private-user-images.githubusercontent.com/92021533/265494442-6f9dd6be-4d05-4e22-9a5b-8077eb81f05c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0OTQ0NDItNmY5ZGQ2YmUtNGQwNS00ZTIyLTlhNWItODA3N2ViODFmMDVjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmYjA0NTQxZWQ4OWZiN2I5ZTBhNWI4Y2YwOTc0NzUwNDVhOGMxY2JhNzllNjgzMWE0Njc2N2ZiNTg3ODVhMGYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.jUEspf-4SVVdDcVOufObvFf6zn69ofsp7W92oGMsLts)
![image](https://private-user-images.githubusercontent.com/92021533/265495048-034b12d4-a988-49db-ad09-c60a81612478.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0OTUwNDgtMDM0YjEyZDQtYTk4OC00OWRiLWFkMDktYzYwYTgxNjEyNDc4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFkZDEwZDhhYmQxMGU0Y2IxYzQ0NzU2MjNmZGY0MjdkMmU0NDUyYTg1ZWI0ZGIxOGNmNDVlNThhYWMwZTUwNjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.QI1TyZMppH5DlwKayi3bBNyBQALlLivNwnBWZJgxrUA)
![image](https://private-user-images.githubusercontent.com/92021533/265496973-a70d76c8-db6a-4c1e-b41b-a2f0cbc497cd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0OTY5NzMtYTcwZDc2YzgtZGI2YS00YzFlLWI0MWItYTJmMGNiYzQ5N2NkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU3NTdmMzA5NDc5ZjM3Njc3M2I4NzNjZDM0NDkyM2I3N2I2Mjk2NjNiZGVhMjI2NDFmN2E2ODVmNTY2OGU4YTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.pKvcQORPrCM7Zgmllq_0WEqqyEQEttfOYcHZI2E8Oy0)
![image](https://private-user-images.githubusercontent.com/92021533/265497077-ea148d02-6e4f-4a9c-95b6-2b57aacd9c56.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0OTcwNzctZWExNDhkMDItNmU0Zi00YTljLTk1YjYtMmI1N2FhY2Q5YzU2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE0NDg0MzRjYTY3ZjA1NTdmZjFlNDEwY2RhMmNjOThkZTc2YWZkNmEzMmM4MWVlZGFlNjZkYWY2YjU2ZTk1MzgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.cFRa-9QqYUE0xbkZzIrnRKKqMCcqAnLcLL0OLBCUNSM)
Αρχικά ελέγχετε αν το column στο οποιο θελουμε να φτιαξουμε index ειναι primary key ή unique. Στη περίπτωση που δεν είναι βγάζει exception.
Στη συνέχεια αν δεν υπάρχει ήδη κάποιο index με το ίδιο όνομα φτιάχνει ένα καινούργιο index ανάλογα με τον τύπο index Που του δόθηκε.
construct_index
Παίρνει κάθε τιμή του column και το βάζει μέσα στο index.
#issue 3
![image](https://private-user-images.githubusercontent.com/92021533/265496523-42ff73ae-3508-43fd-92f5-977f880454fe.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NTg3MDUsIm5iZiI6MTczOTQ1ODQwNSwicGF0aCI6Ii85MjAyMTUzMy8yNjU0OTY1MjMtNDJmZjczYWUtMzUwOC00M2ZkLTkyZjUtOTc3Zjg4MDQ1NGZlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE0NTMyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEzODVhYTQzMWIxM2JjMDdhNmRkZDAyZDgwMzk0OGM4ZWU3MzczNGVlMjdkMTY5ZGE4ZTU5NzliZWM1MTBjMmQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.-EXMQ3qevbpPBhlyo_68aJ2P4vNLvAllnwP2TAu_9Bw)
Δημιουργήθηκε ένα καινούργιο αρχείο equivalent_ra.py το οποίο περιέχει τους κανόνες σχεσιακής άλγεβρας και με την χρήση του dic[] μπορούμε να αλλάζουμε το query στα ενναλακτικά του.