Skip to content
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

Backup development #496

Draft
wants to merge 464 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
464 commits
Select commit Hold shift + click to select a range
d3fc459
adding functionality to remove partitions for placements if specified
datomo Aug 5, 2023
93cba3b
adjusting case comparing for some entities in the snapshot
datomo Aug 5, 2023
c1b0925
adjusting ingestion of columns during migration of partitions
datomo Aug 6, 2023
f597373
fixed most horizontalPartitioningTests
datomo Aug 13, 2023
5e21f2c
fixed wrong storecatalogIds
datomo Aug 14, 2023
ad4ff2f
adjusting comparator to fix same position
datomo Aug 14, 2023
7a0755d
fixed DataMigrator tests
datomo Aug 15, 2023
2bb9d2b
fixed DataMigrator and UnsupportedOperationTests
datomo Aug 15, 2023
132485b
adding partitions and placements barebones to graph and document
datomo Aug 15, 2023
fb9b144
fixed DocumentOnRelationalTest
datomo Aug 16, 2023
9f9d308
fixed partially DocumentOnLpgTest
datomo Aug 16, 2023
147e4b0
added methods to cleanly interact with frontend and reduce unnecessar…
datomo Aug 18, 2023
79373fe
added getSnapshot route
datomo Aug 18, 2023
7433855
added snapshotModel and corresponding model classes, removing highly …
datomo Aug 19, 2023
3519078
added Optional to all catalog methods, added model classes
datomo Aug 20, 2023
a6e49de
fix for addColumn and added getRows logic
datomo Aug 21, 2023
1594ae9
adjusting generics, fixing if exist namespace
datomo Aug 23, 2023
4e49133
fixed database in full entity names, adjusted getRows logic
datomo Aug 23, 2023
bd73a52
adjusted Results for UI
datomo Aug 24, 2023
d1c9c44
NamespaceModel for Namespace request
datomo Aug 25, 2023
08243b1
added alloccolumns to snapshot
datomo Aug 26, 2023
773bb28
adjusted id usag in crud
datomo Aug 27, 2023
25caa61
adjusting webui model classes
datomo Aug 28, 2023
18d786b
added models for adapter types, using namespaceId as much as possible…
datomo Aug 29, 2023
c7c3dd9
adding adapterTemplateModel, removing frontend logic from backend
datomo Aug 31, 2023
4f3d278
fixed merge conflicts
datomo Sep 1, 2023
e710c30
adjusting adapter settings models
datomo Sep 3, 2023
6265384
adjusted adapter deployment and settings changes
datomo Sep 3, 2023
facfb49
adjusted adapter related models
datomo Sep 7, 2023
bb04865
fixed serializer approach
datomo Sep 8, 2023
d79f94b
let there be SQl results
datomo Sep 9, 2023
7c9cdf1
adjusted doc result
datomo Sep 10, 2023
cb3d746
let there be documents
datomo Sep 11, 2023
147d953
let there be graphs
datomo Sep 12, 2023
d81715c
adjusted polyType serializer fixed AdapterModel
datomo Sep 13, 2023
8979236
slight adjustement to request name
datomo Sep 14, 2023
53ab777
fixed results and notebooks
datomo Sep 15, 2023
4e90c0a
partially working data views, with inserts/multi
datomo Sep 17, 2023
ee31f0e
towards multimedia types
datomo Sep 17, 2023
5105ef4
fixes for null and polyblob handling
datomo Sep 18, 2023
1880cbd
minor fix to queryinterface and assets
datomo Sep 19, 2023
195fb35
enabled mongoadapter not starting yet
datomo Sep 19, 2023
16d7b0c
further adjusting mongo
datomo Sep 20, 2023
ecd0670
adjustement to correctly set deploy mode
datomo Sep 21, 2023
7a09101
moving adapterstemplate completley to catalog
datomo Sep 21, 2023
23188bf
adjustement to main class loader
datomo Sep 22, 2023
b11b600
adjusting adapter deployement
datomo Sep 22, 2023
18b06ee
fixed docker startup
datomo Sep 23, 2023
fedb409
adjustment to mongo
datomo Sep 24, 2023
292f86e
adjustment to mongo
datomo Sep 24, 2023
8d6b873
fixing Mongo rel
datomo Sep 25, 2023
4f32a3e
enabled bugged neo4j
datomo Sep 25, 2023
7bbae4f
enabled file store and cottontail
datomo Sep 26, 2023
6968e7d
enabled google and excel sources
datomo Sep 27, 2023
1f02f8a
enabled all stores and sources except cassandra
datomo Sep 27, 2023
a03c086
minor adjustment to communication between Polypheny and UI
datomo Sep 28, 2023
fc34f7a
pulling be gone, we are pushing
datomo Sep 28, 2023
3d1d970
we push now, enabled restore, still an error
datomo Sep 29, 2023
eb59ab2
new restore logic added, changed persisting approached
datomo Oct 1, 2023
c66a44e
changed port to single server
datomo Oct 2, 2023
eb6bbe9
fixed reset of default namespace
datomo Oct 2, 2023
e6ca991
adjustment for interfacetemplates
datomo Oct 3, 2023
7b89357
initial commit (created package)
flurfis Oct 4, 2023
3552d13
no idea if correctly done, but button (or rather sidetab) for backup …
flurfis Oct 4, 2023
344cc2b
made backupstartup more similar to catalog startup
flurfis Oct 4, 2023
bcb674b
now there is a startbutton
flurfis Oct 4, 2023
a2e9f77
excluding avatica classes
datomo Oct 4, 2023
6d28799
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Oct 5, 2023
e73ef2d
fixed jdbc by downgrading javalin...
datomo Oct 5, 2023
806747a
fixes for jdbs output
datomo Oct 5, 2023
eab2a07
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Oct 6, 2023
65dafc3
fixing aggregates and calc algnodes to always work with typed array e…
datomo Oct 6, 2023
c33df9d
fixes of commits and information pages
datomo Oct 6, 2023
1cbbd76
fixing various bugs, correctly adding ids for rowtypes, some cleanup
datomo Oct 7, 2023
a41dc04
some fixes for jdbc queries and non-relational queries
datomo Oct 8, 2023
d6e5bf5
added fix for empty backup file
datomo Oct 9, 2023
645db60
adjusting serialization of docmodel, fixing doc placements
datomo Oct 9, 2023
4aecae6
fixing document queries
datomo Oct 9, 2023
d9f0fe8
fixes for graph model
datomo Oct 10, 2023
96dbba6
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Oct 11, 2023
c155668
fixing multiple schema editing pages
datomo Oct 12, 2023
db34fb7
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Oct 13, 2023
370980b
fixing InformationDuration, fixing untypedJson
datomo Oct 14, 2023
9066f94
fixed ordering and renaming correctly, fixing gavel workloads
datomo Oct 15, 2023
cdf4845
new adjustments for dynamic doc values
datomo Oct 15, 2023
6aa424f
fixes for graph and increased default document size
datomo Oct 16, 2023
52dd310
fixing graph tests
datomo Oct 16, 2023
2b4a4ad
added case for empty value in map document
datomo Oct 17, 2023
c6b0dcc
fixing jdbc, aggregation, list seralization, doc queries
datomo Oct 17, 2023
e8af3b3
minor adjustment for model serialization
datomo Oct 18, 2023
aa769a8
fixed both typed serilization methods, should fix graph tests
datomo Oct 19, 2023
184b14d
got all graph tests except 2 ddls working
datomo Oct 20, 2023
4e39c42
minor adjustement to polyvalue converters
datomo Oct 25, 2023
267b2db
fixed doc simple client test
datomo Oct 25, 2023
f9336f3
moved files
flurfis Oct 26, 2023
60c1b7c
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Oct 26, 2023
030e0fd
fixes to graph substitutions
datomo Oct 26, 2023
95eed8e
renamed class, added packages and a button
flurfis Oct 27, 2023
9d1b573
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Oct 27, 2023
2a82c89
Fix licensee checks and uniform dependency imports
vogti Oct 27, 2023
c65d348
rewrote non-relational routers partially, fixed graph tests
datomo Oct 27, 2023
9cb266b
fix docker instance setting
datomo Oct 27, 2023
d30deff
fixes incorrect loading of configs, replaced Runtime with our exception
datomo Oct 28, 2023
176bbeb
fixed a horizontal test, extracted parts of dml update
datomo Oct 28, 2023
4586802
adding additional phase for scans and modify
datomo Oct 29, 2023
71f62a3
created rudimentary structure, started trying to gather snapshot data
flurfis Oct 30, 2023
93853aa
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Oct 30, 2023
78254d5
added tests for planner
datomo Oct 30, 2023
0082119
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Oct 31, 2023
b950a71
adjusted toString to allow correct pushdown of operation of jdbc
datomo Oct 31, 2023
61c2259
implemented first approach to gather all information for the relation…
flurfis Oct 31, 2023
7a8fc30
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Oct 31, 2023
121e262
fixed parsing of certain binaries, filestore tests
datomo Oct 31, 2023
57fb8e1
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Nov 1, 2023
d217d5e
fixing vertical partitioning, partial fix horizontal
datomo Nov 1, 2023
c19fd0e
seperated rel namespaces from all namespaces, attempted to differenti…
flurfis Nov 2, 2023
e7c2a2e
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Nov 2, 2023
f45dba0
fixing HorizontalPartitioningTest
datomo Nov 2, 2023
b4bdba1
fixed horizontal temperature tests
datomo Nov 3, 2023
3aafba8
added nodes discovered while debugging
flurfis Nov 3, 2023
ffe2477
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Nov 3, 2023
45f13b4
fixed horizontal partition tests
datomo Nov 3, 2023
675cfeb
fixed graph representation, replaced runtimeException,AvaticaExceptio…
datomo Nov 4, 2023
36dba7e
fixing statistics, runtimeExceptions, reformatting of new parts, adju…
datomo Nov 5, 2023
191c6b4
differentiate between pk, fk, constr, idx. Some bugfixes. Collects do…
flurfis Nov 6, 2023
4ab2191
fixed duration display
datomo Nov 6, 2023
77d6560
minor renaming, some clean-up of router, fixed result transmision
datomo Nov 6, 2023
46472ba
preparation to pass the data
flurfis Nov 7, 2023
76f68cd
adjustment for routing page and query routing
datomo Nov 7, 2023
56d2041
(has no effect yet): objects to safe and 'transport' information impl…
flurfis Nov 7, 2023
f08a606
fixing parts of the query routing, adding version specific folders, n…
datomo Nov 7, 2023
747905a
trying to connect inserter to rest of architecture
flurfis Nov 8, 2023
0ed22cb
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
datomo Nov 10, 2023
ec1d154
adjustement to version file to work with build and during dev
datomo Nov 10, 2023
923d774
started fixing remaining core tests
datomo Nov 10, 2023
def0677
fixing rexBuilderTest
datomo Nov 12, 2023
8cba602
some debugging, some process solutions...
flurfis Nov 15, 2023
0f78abb
create table works now (no alter yet, not all datatypes yet), moved s…
flurfis Nov 15, 2023
d4ba581
alter table add unique constraint works
flurfis Nov 16, 2023
30903c1
alter table add foreign key works now
flurfis Nov 16, 2023
e0f21f7
refactored code with codestyle. Some failed trials for creating colle…
flurfis Nov 16, 2023
75c76f4
logic for new planbuilder approach, default value handled correctly, …
datomo Nov 19, 2023
9eb9060
correctly used ids for routing plan caching
datomo Nov 20, 2023
a2210f4
work in progress for check system, testing with logicalEntity, logica…
flurfis Nov 21, 2023
dfed279
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Nov 21, 2023
c295da7
refactoring (mainly renaming) and implementing checksystem if there i…
flurfis Nov 21, 2023
9712c0c
refactor and trying to get value of default value
flurfis Nov 21, 2023
52040cf
fixes for cross model queries
datomo Nov 21, 2023
0b22e1e
removing unused classes
datomo Nov 21, 2023
25c9682
fixed AlgDataTypeKey equals
datomo Nov 22, 2023
152ea92
default works now, changed for LogicalTable that polymorphism works now
flurfis Nov 23, 2023
abe266f
adjustment for anyQuery methods - broken don't merge
datomo Nov 23, 2023
7710167
entities are now checked if they should be inserted, minor refactoring
flurfis Nov 23, 2023
549b7f7
changed rest of the datatypes to LogicalEntity, minor fix for fk
flurfis Nov 23, 2023
d6d9ba3
all datatypes are now supported (not yet for default)
flurfis Nov 23, 2023
39947b1
streamlining query execution
datomo Nov 26, 2023
5f7cfa8
fixes for new anyQuery logic
datomo Nov 26, 2023
b57570b
removing old catalogReader inheritant classes and old tests
datomo Nov 26, 2023
0bb567e
reformatting and mongo adjustment
datomo Nov 26, 2023
ef69fde
renamed namespaceType to DataModel
datomo Nov 27, 2023
b5c21cc
fix for MonetdbStore
datomo Nov 27, 2023
6bc401a
multiple renamings, adjustment to mongodb store
datomo Nov 27, 2023
f07a19f
default values should now also be handled correctly for all datatypes…
flurfis Nov 27, 2023
63cef21
fixes for mongo updates and additional fixes
datomo Nov 27, 2023
e1d3da3
fix for insert from other entity
datomo Nov 28, 2023
1eb7d3e
removing legacy code, fixes, for neo4j, file and cottontail adapters
datomo Nov 28, 2023
a310795
fix for splitting of sql, lots of error handling
datomo Nov 28, 2023
abe433e
working on dependency tree
flurfis Nov 29, 2023
74a188a
merge with big refactor change
flurfis Nov 29, 2023
5911939
uses anyquery now to execute queries
flurfis Nov 29, 2023
560131a
minor fixes for neo4j and mongodb, error handling
datomo Nov 29, 2023
e2dceeb
minor refactoring
flurfis Nov 30, 2023
a8079e7
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Nov 30, 2023
bbaf695
fixes for ddls of document
datomo Nov 30, 2023
c6e3814
collection creation query created, fixed polymorphism views, mat.view…
flurfis Dec 1, 2023
ef57f8f
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Dec 1, 2023
4ca57cc
adding Optional for unwrap function
datomo Dec 1, 2023
7357987
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
datomo Dec 1, 2023
8e0f856
collection insertion works now correctly
flurfis Dec 2, 2023
4c54dfd
correctly added foreign key constraint on table create
datomo Dec 2, 2023
bfdcd5e
Minor adjustments while reviewing
vogti Dec 2, 2023
0ce5d2b
fixes for result of http interface
datomo Dec 2, 2023
4888b60
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
datomo Dec 2, 2023
8b0d5c3
fixes for mongodb, and result iteration
datomo Dec 3, 2023
970943b
simplification for document, dont merge
datomo Dec 4, 2023
ed350ca
don't merge, corrected default store
datomo Dec 4, 2023
bd6e849
don't merge, adjustment to mongo handling of document model
datomo Dec 4, 2023
1c0e6b6
don't merge, fixes for documentagg
datomo Dec 4, 2023
ba54b2c
Fix typo and remove stray semicolons
gartens Dec 4, 2023
fb49c61
Use of ifPresent/map etc. for some operations on Optionals
gartens Dec 5, 2023
8554d47
don't merge, adjustment to rexToMongoTransformer
datomo Dec 5, 2023
59cc9de
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
datomo Dec 5, 2023
4664438
rudimentary entry-collection works (forgot to add before)
flurfis Dec 5, 2023
f70a3f5
don't merge, fixes for mongodb $not and project
datomo Dec 6, 2023
8046cfb
simple folder and file in folder are created, changed how info to gat…
flurfis Dec 6, 2023
1f87cb5
don't merge, streamline some MongoDB stuff and fixing some failing tests
datomo Dec 6, 2023
048f8e4
don't merge, fixed multiple complex queries and transformations
datomo Dec 6, 2023
a9928cd
don't merge, aggregate working again
datomo Dec 7, 2023
9230403
don't merge all document queries running on mongo again
datomo Dec 7, 2023
fd1ce57
don't merge, most stuff works for non-native, migration some issue
datomo Dec 8, 2023
64a08d5
don't merge, fixes most document for non-native
datomo Dec 9, 2023
8052626
threaded simple filecreation and writing values into them works
flurfis Dec 9, 2023
fa20b7f
fixed parsing of mql queries, streamlined and fixed inconsistencies w…
datomo Dec 9, 2023
b1fcade
removed debug statement
datomo Dec 9, 2023
1b7f136
added StatusService for status routes used for benchmarking/monitorin…
datomo Dec 9, 2023
6f08977
adding multiple consistency ckecks to catalog and useful error msg on…
datomo Dec 10, 2023
6bb8925
added trx-total to status endpoint
datomo Dec 10, 2023
2cb069d
fixed no results for all tests and graph visuals in ui
datomo Dec 11, 2023
9c8848e
minor fix to use the correct namespace
datomo Dec 11, 2023
97c7dd5
reset Polypheny folder; introduces global and version specific folder…
datomo Dec 11, 2023
dfd2ff2
minor adjustment, some error handling for polyvalue
datomo Dec 11, 2023
46e9b34
writing and reading to file works now properly (with json), started w…
flurfis Dec 12, 2023
dc27862
insertion of entries into database works (for rel. and dok), not all …
flurfis Dec 12, 2023
c1569db
added "fix" for complex binary values in monetdb, added log message f…
datomo Dec 12, 2023
f174ec7
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Dec 13, 2023
7245140
merged with refactor branch
flurfis Dec 13, 2023
3c4b827
minor adjustment to fix relational values frontend
datomo Dec 13, 2023
38c3962
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
datomo Dec 13, 2023
a35fe9e
introduced abstraction for reader and writer, added documentation
flurfis Dec 14, 2023
ea8413e
adjustment for dashboard information
datomo Dec 14, 2023
b2af204
don't merge, bumped junit to 5
datomo Dec 15, 2023
203ed34
changed path that it now relative, and should work for windows and linux
flurfis Dec 15, 2023
0381097
don't merge, fixed additional tests
datomo Dec 15, 2023
50b41ee
trying to implement batchwise insertion. Some Documentation, adjust c…
flurfis Dec 15, 2023
21316bd
minor adjustment for easier bug hunting
datomo Dec 15, 2023
ed97a28
fixing testing setup, and polyvalue serialization
datomo Dec 16, 2023
491f17a
adjustment for autodocker during development
datomo Dec 17, 2023
de5c012
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
datomo Dec 17, 2023
5237b45
added logic for frontend
datomo Dec 17, 2023
72a319a
minor fix to deserialize backup correctly
datomo Dec 18, 2023
e975ef1
started fixing cross model queries
datomo Dec 18, 2023
161f437
fixing docOnLpg tests
datomo Dec 18, 2023
4ba846e
mini fix for jar
datomo Dec 19, 2023
a3d2ae8
renamed rowType->tupleType, rewrote parts of sql json substitution lo…
datomo Dec 20, 2023
25b1380
Merge branch 'refactor' of https://github.com/polypheny/Polypheny-DB …
flurfis Dec 20, 2023
ed94d33
Merge branch 'backup-development' of https://github.com/polypheny/Pol…
flurfis Dec 20, 2023
bbc750a
insert entries batchwise works now for rel schemas, testing deseriali…
flurfis Dec 20, 2023
e9badef
fixed merge conflict
datomo Apr 11, 2024
1f2ff84
added missing model
datomo Apr 11, 2024
b7190d4
inserted graph insertion (maybe needs some more testing
flurfis Apr 15, 2024
48f7f88
fixed schema insertion errors, that occured due to merging
flurfis Apr 16, 2024
a29d375
basic backup setup from testing environnement
flurfis Apr 16, 2024
e8df094
first version of evaluation (needs testing)
flurfis Apr 16, 2024
43c2549
works now correctly with namespace ids
flurfis Apr 17, 2024
57c14ed
fixed threadpool termination
flurfis Apr 17, 2024
3a41ae2
expanded evaluation setup
flurfis Apr 17, 2024
2505e00
added choosable batchsize (for evaluation)
flurfis Apr 18, 2024
c18d401
set up evaluation for backup and insertion
flurfis Apr 18, 2024
c3c191f
graph now also works to insert in batches
flurfis Apr 18, 2024
a2a4bee
Added javadoc where it was missing and deleted some comments
flurfis Apr 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions Polypheny-DB.ipr
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac"/>
<resourceExtensions>
<entry name=".+\.(properties|xml|html|dtd|tld)"/>
<entry name=".+\.(gif|png|jpeg|jpg)"/>
</resourceExtensions>
<wildcardResourcePatterns>
<entry name="!?*.class"/>
<entry name="!?*.scala"/>
<entry name="!?*.groovy"/>
<entry name="!?*.java"/>
</wildcardResourcePatterns>
<annotationProcessing enabled="false" useClasspath="true"/>
<bytecodeTargetLevel target="11"/>
</component>
<component name="CopyrightManager" default="">
<module2copyright/>
</component>
<component name="DependencyValidationManager">
<option name="SKIP_IMPORT_STATEMENTS" value="false"/>
</component>
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false"/>
<component name="GradleUISettings">
<setting name="root"/>
</component>
<component name="GradleUISettings2">
<setting name="root"/>
</component>
<component name="IdProvider" IDEtalkID="11DA1DB66DD62DDA1ED602B7079FE97C"/>
<component name="JavadocGenerationManager">
<option name="OUTPUT_DIRECTORY"/>
<option name="OPTION_SCOPE" value="protected"/>
<option name="OPTION_HIERARCHY" value="true"/>
<option name="OPTION_NAVIGATOR" value="true"/>
<option name="OPTION_INDEX" value="true"/>
<option name="OPTION_SEPARATE_INDEX" value="true"/>
<option name="OPTION_DOCUMENT_TAG_USE" value="false"/>
<option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false"/>
<option name="OPTION_DOCUMENT_TAG_VERSION" value="false"/>
<option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true"/>
<option name="OPTION_DEPRECATED_LIST" value="true"/>
<option name="OTHER_OPTIONS" value=""/>
<option name="HEAP_SIZE"/>
<option name="LOCALE"/>
<option name="OPEN_IN_BROWSER" value="true"/>
</component>
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/Polypheny-DB.iml" filepath="$PROJECT_DIR$/Polypheny-DB.iml"/>
<module fileurl="file://$PROJECT_DIR$/plugins/mapdb-monitoring/mapdb-monitoring.iml" filepath="$PROJECT_DIR$/plugins/mapdb-monitoring/mapdb-monitoring.iml"/>
</modules>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" assert-keyword="true" jdk-15="true" project-jdk-type="JavaSDK" assert-jdk-15="true" project-jdk-name="17">
<output url="file://$PROJECT_DIR$/out"/>
</component>
<component name="SvnBranchConfigurationManager">
<option name="mySupportsUserInfoFilter" value="true"/>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="" vcs=""/>
</component>
<component name="masterDetails">
<states>
<state key="ArtifactsStructureConfigurable.UI">
<UIState>
<splitter-proportions>
<SplitterProportionsDataImpl/>
</splitter-proportions>
<settings/>
</UIState>
</state>
<state key="Copyright.UI">
<UIState>
<splitter-proportions>
<SplitterProportionsDataImpl/>
</splitter-proportions>
</UIState>
</state>
<state key="ProjectJDKs.UI">
<UIState>
<splitter-proportions>
<SplitterProportionsDataImpl>
<option name="proportions">
<list>
<option value="0.2"/>
</list>
</option>
</SplitterProportionsDataImpl>
</splitter-proportions>
<last-edited>1.6</last-edited>
</UIState>
</state>
<state key="ScopeChooserConfigurable.UI">
<UIState>
<splitter-proportions>
<SplitterProportionsDataImpl/>
</splitter-proportions>
<settings/>
</UIState>
</state>
</states>
</component>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
/*
* Copyright 2019-2023 The Polypheny Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.polypheny.db.adapter;

import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;


// See https://stackoverflow.com/questions/19588020/gson-serialize-a-list-of-polymorphic-objects/22081826#22081826
public class AdapterSettingDeserializer implements JsonDeserializer<AbstractAdapterSetting> {

@Override
public AbstractAdapterSetting deserialize( JsonElement json, Type typeOfT, JsonDeserializationContext context ) throws JsonParseException {
JsonObject jsonObject = json.getAsJsonObject();
String type = jsonObject.get( "type" ).getAsString();
String name = jsonObject.get( "name" ).getAsString();
boolean canBeNull = jsonObject.get( "canBeNull" ).getAsBoolean();
boolean required = jsonObject.get( "required" ).getAsBoolean();
boolean modifiable = jsonObject.get( "modifiable" ).getAsBoolean();
String subOf = jsonObject.has( "subOf" ) ? jsonObject.get( "subOf" ).getAsString() : null;
int position = jsonObject.get( "position" ).getAsInt();
String description = null;
if ( jsonObject.get( "description" ) != null ) {
description = jsonObject.get( "description" ).getAsString();
}

AbstractAdapterSetting out;
switch ( type ) {
case "Integer":
int integer = jsonObject.get( "defaultValue" ).getAsInt();
out = new AbstractAdapterSettingInteger( name, canBeNull, subOf, required, modifiable, integer, new ArrayList<>(), position );
break;
case "String":
String string = jsonObject.get( "defaultValue" ).getAsString();
out = new AbstractAdapterSettingString( name, canBeNull, subOf, required, modifiable, string, new ArrayList<>(), position );
break;
case "Boolean":
boolean bool = jsonObject.get( "defaultValue" ).getAsBoolean();
out = new AbstractAdapterSettingBoolean( name, canBeNull, subOf, required, modifiable, bool, new ArrayList<>(), position );
break;
case "List":
List<String> options = context.deserialize( jsonObject.get( "options" ), List.class );
String defaultValue = context.deserialize( jsonObject.get( "defaultValue" ), String.class );
out = new AbstractAdapterSettingList( name, canBeNull, subOf, required, modifiable, options, new ArrayList<>(), defaultValue, position );
break;
case "Directory":
String directory = context.deserialize( jsonObject.get( "directory" ), String.class );
String[] fileNames = context.deserialize( jsonObject.get( "fileNames" ), String[].class );
String value = context.deserialize( jsonObject.get( "defaultValue" ), String.class );
out = new AbstractAdapterSettingDirectory( name, value, canBeNull, subOf, required, modifiable, new ArrayList<>(), position ).setDirectory( directory ).setFileNames( fileNames );
break;
default:
throw new RuntimeException( "Could not deserialize AdapterSetting of type " + type );
}
out.setDescription( description );
return out;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
/*
* Copyright 2019-2023 The Polypheny Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.polypheny.db.algebra.core;

import java.util.List;
import java.util.Optional;
import org.polypheny.db.algebra.AlgCollations;
import org.polypheny.db.algebra.fun.AggFunction;
import org.polypheny.db.algebra.type.AlgDataType;
import org.polypheny.db.catalog.exceptions.GenericRuntimeException;
import org.polypheny.db.plan.AlgCluster;
import org.polypheny.db.rex.RexNode;
import org.polypheny.db.type.PolyType;

public class DocumentAggregateCall {

public final String name;
public final AggFunction function;
private final RexNode input;


public DocumentAggregateCall( String name, AggFunction function, RexNode input ) {
this.name = name;
this.function = function;
this.input = input;
}


public static DocumentAggregateCall create( String name, AggFunction function, RexNode input ) {
return new DocumentAggregateCall( name, function, input );
}


public Optional<RexNode> getInput() {
return Optional.ofNullable( input );
}


public AggregateCall toAggCall( AlgDataType rowType, AlgCluster cluster ) {
int index = rowType.getFieldNames().indexOf( name );
return AggregateCall.create( function, false, false, List.of( index ), -1, AlgCollations.EMPTY, getType( cluster ), name );
}


private AlgDataType getType( AlgCluster cluster ) {
switch ( function.getKind() ) {
case COUNT:
return cluster.getTypeFactory().createPolyType( PolyType.BIGINT );
case SUM:
case AVG:
return cluster.getTypeFactory().createPolyType( PolyType.DOUBLE );
default:
throw new GenericRuntimeException( "Unknown aggregate function: " + function.getKind() );
}
}


public Optional<AlgDataType> requiresCast( AlgCluster cluster ) {
switch ( function.getKind() ) {
case COUNT:
return Optional.empty();
case SUM:
case AVG:
return Optional.ofNullable( cluster.getTypeFactory().createPolyType( PolyType.DOUBLE ) );
default:
return Optional.empty();
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,6 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file incorporates code covered by the following terms:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to you under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.polypheny.db.algebra.enumerable;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,6 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file incorporates code covered by the following terms:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to you under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.polypheny.db.algebra.enumerable;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,3 @@ private boolean isQueryable() {
}

}

Original file line number Diff line number Diff line change
Expand Up @@ -274,4 +274,3 @@ public Expression comparer() {
*/
public abstract Expression field( Expression expression, int field, Type fromType, Type fieldType );
}

Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,6 @@ public static void attachFilter( AlgNode modify, AlgBuilder algBuilder, RexBuild
}
}


attachFilter( modify.getEntity(), algBuilder, rexBuilder, indexes );
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,7 @@ public Double getTupleCount( AlgNode alg ) {
rowCountHandler = revise( e.algClass, TupleCount.DEF );
} catch ( CyclicMetadataException e ) {
log.warn( "Cyclic metadata detected while computing row count for {}", alg );
return 100D;
}
}
}
Expand Down
43 changes: 43 additions & 0 deletions core/src/main/java/org/polypheny/db/catalog/impl/NCatalog.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* Copyright 2019-2023 The Polypheny Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.polypheny.db.catalog.impl;

import io.activej.serializer.annotations.SerializeClass;
import org.polypheny.db.catalog.impl.logical.DocumentCatalog;
import org.polypheny.db.catalog.impl.logical.GraphCatalog;
import org.polypheny.db.catalog.impl.logical.RelationalCatalog;
import org.polypheny.db.catalog.logistic.DataModel;

@SerializeClass(subclasses = { GraphCatalog.class, RelationalCatalog.class, DocumentCatalog.class }) // required for deserialization
public interface NCatalog {

void commit();

void rollback();

boolean hasUncommittedChanges();

DataModel getType();

default <T extends NCatalog> T unwrap( Class<T> clazz ) {
if ( !this.getClass().isAssignableFrom( clazz ) ) {
throw new RuntimeException( String.format( "Error on retrieval the %s catalog.", clazz.getSimpleName() ) );
}
return clazz.cast( this );
}

}
Loading
Loading