Skip to content

[AgeViewer Go- Frontend]#688

Closed
Nimra-1234 wants to merge 508 commits intoageviewer_gofrom
master
Closed

[AgeViewer Go- Frontend]#688
Nimra-1234 wants to merge 508 commits intoageviewer_gofrom
master

Conversation

@Nimra-1234
Copy link
Copy Markdown

Starting page added along with animations in the logo.

JoshInnis and others added 30 commits March 11, 2021 15:10
Implemented the DELETE clause and fixed an error with how
CREATE, SET, and REMOVE interacted with Postgres' transaction
system.
Added * as a valid grammar item for the RETURN command. For example -

    MATCH (u) RETURN *;

Added components to mask out our "hidden" variables and aliases.

Added the option to omit edges in the grammar. For example -

    MATCH (u)--(v) RETURN u, v;
    MATCH (u)-->(p)<--(v) RETURN u, p, v;

Added the components for Variable Length Edges (Relationships). However,
VLE commands are disallowed until implementation.

Added regression tests.
Added an explicit cast for agtype to text (TEXTOID) type.
Added age-database tag
Added copy, serialization and deserialization functions
for the CREATE, SET, REMOVE and DELETE data structures.

This makes these clauses compatiple with the Prepared
Statements and pl/pgsql functions.
Added the ability to typecast from agtype to PG's bigint and float8.
Added regression tests.
Overloaded operators for agtype and int operations to bypass
implicit float casting.

Added regression tests
Removed mention to Bitnine
Changed the input for the following aggregate functions to
agtype -

    stddev, stddevp, avg, sum, percentilecont, and
    percentildisc.

Adjusted the regression tests to use casts to PG floats, where
necessary. This is to allow the removal of the implicit cast to
float8 from agtype.

Adjusted the regression tests to reflect the small changes for some
of the output using the above adjusted functions.
Switch from Bitnine to ASF
Overloaded comparison and arithmetic operators to handle agtype and int2,
int4, int8, float4 and float8 operations.

Removed the implicit cast to float8.

Added regression tests for all cases.
README Add Viewer Tools in AGE
Added a cast assignment to fix SKIP and LIMIT clauses. Before, they
were passed agtype when they needed an int type.

Wrote regression tests for SKIP and LIMIT clauses.
Overloaded comparison and arithmetic operators to handle numerics.

Added logic to handle agtype null input for any_functions.

Added regression tests for mod cases, which were previously missing.

Added regression tests to handle agtype null input.
Implements the label function which returns
the label of the given vertex or edge.
Simplified the logic for getting the graphid of entities
where the entity already exists.

Replaced the cypher_target_node field from transform entity
with declared_in_current_clause.

Renamed some AttrNumber in the cypher_target_node and
cypher_create_path to reflect that they are AttrNumbers.

Altered the id fields in cypher_target_node to simplify the
logic.

Added documentation to the transform_entity data structure.

Added documentation to the cypher_target_node function.

Altered the flow of logic when the CREATE clause must process
all children tuples in one call of exec_cypher_create to be like
the delete clause logic.
Added and refactored regression tests for null operations.
Added the PostgreSQL utility command EXPLAIN to AGE's openCypher
grammar and transform logic. The following forms are allowed -

    EXPLAIN
    EXPLAIN VERBOSE
    EXPLAIN ANALYZE
    EXPLAIN ANALYZE VERBOSE

Note: Using ANALYZE with EXPLAIN will cause the execution of the
openCypher command.

EXPLAIN can be used in AGE as follows -

    EXPLAIN MATCH (u)-[e]->(v) RETURN u;
    EXPLAIN VERBOSE MATCH (u)-[e]->(v) RETURN u;
    EXPLAIN ANALYZE MATCH (u)-[e]->(v) RETURN u;
    EXPLAIN ANALYZE VERBOSE MATCH (u)-[e]->(v) RETURN u;

The EXPLAIN command in AGE is implemented through PostgreSQL's
EXPLAIN command logic. So, the output should be familiar to PG users.

For more information please see PostgreSQL's documention on EXPLAIN.
* fix: (driver/nodejs) replaced to ANTLR4 Parser.

* fix: (driver/nodejs) enable eslint.

* fix: (driver/nodejs) insert copyright.
Implemented PostgreSQL CASE statements into AGE.

CASE has the following forms:

CASE WHEN condition THEN result END
CASE expression WHEN value THEN result END

The logic that CASE uses is largely similar to that of PostgreSQL's
CASE logic.
Addressed issue when database was forcibly terminated when vertex labels
were assigned to edge labels and vice versa.

Added regression tests for this case as well.
Modified error message when using existing graph name for new graph.
Now it checks before starting the create graph process if a graph with
the current name already exists or not. If the a graph with input name
already exists it quits the graph creation process with an error.

This resolves issue #66 on Github.

Added regression tests for this case as well.
Resolves #55 and #89

The logic in SET and DELETE to get the most recent tuple to update
was rewritten. Rather than scan the execution tree to find the heap
tuple, it uses the id for the vertex/edge to find the most recent
heap tuple on disc.

Allow DELETE to be the final clause in a cypher query.
This reverts commit 1dea9e7.

The patch 'Refactor HeapTuple Retrieval Logic' was pushed incorrectly.
moeed-k and others added 28 commits December 28, 2022 23:35
-age_log10, age_e,age_exp function VOLATILITY changed from STABLE to IMMUTABLE
-No database lookup or external configuration required for these functions
-IMMUTABLE class allows the optimizer to build an index for faster processing
* add name validation for graphs and labels

* update test script to use valid graph name
Whenever a node or an edge within a WHERE clause uses a Var type
expr retrieved from a different cypher parsestate, the Var->varlevelsup
is adjusted.
For example, 'SET v = {..}' will remove all properties of
v and set the provided map as its properties.
This patch is credited to deem0n (Dmitriy Dorofeev). Many thanks!

Fixed a typo that causes a backup of a passed in variable to become
indeterminate. This, in turn, caused the restoration of that variable
to become indeterminate.

Fixed a typo that caused the incorrect hash, label_name_graph_cache_hash,
to be initialized instead of, label_oid_cache_hash.

Added the ag_graph and ag_label tables to the pg_dump output.
* Fixed a bug where python driver throws error when build from source

* Moved required packages to requirements.txt

* Update Readme

Rearranged instructions and added instructions to install from requirements.txt

* Fixed a typo in exceptions.py file

Fixed a typo 'SqlExcution' on line 62 in exceptions.py file
    modified:   Makefile
    modified:   README.md
    modified:   RELEASE
    renamed:    age--1.1.0.sql -> age--1.2.0.sql
    modified:   age.control
* Added comments for create_graph function
-age_exists, which is the executor for exists(property) function, was making up to 3 redundant memory accesses.
-exists(property) predicate function only serves to check if a property exists or not.
-In Cypher, if a property is assigned the value of NULL, this is considered the same as the property not existing at all. Thus the function calls to get the value type is not needed as the check for the null argument itself filters out all NULL inputs. If a property passes this check, it implies existence.
Additional changes:
Null properties are removed from cypher maps in certain cases.
A new property `cypher_map.keep_null` is added. It is set while
transforming CREATE, MATCH and SET clause. Based on its value,
transform_cypher_map tells executor whether to keep the null
properties in maps that appear in the mentioned clauses.

Cases of null removal:
  - For CREATE and SET with equal operator, nulls are removed.

  - For MATCH, nulls are not removed.

  - For SET with plus-equal operator, nulls are kept during
  transformation, but removed after execution.

  - For any other cases, nulls are removed by default.
- This CI workflow will run python driver unit tests and ensure that any
  PR/commit that modifies files under age/drivers/python is passing the tests.
- Moved docker-compose.yaml file in age/drivers/golang to age/drivers,because
  this is required to instaniate a postgres instance, needed for unit testing.
- Modified host address of connection params to localhost in 'test_age_py.py'
  to connect to postgres instance running in docker container.
Updated developer mailing list email
Added user mailing list subscription
Added different video tutorials in it which will help in installation of Apache Age on Windows and MacOS.
- Added installcheck.yaml
- Removed .travis.yaml file
* added paths directive to on: pull request
* Now this CI will only run when a commit or PR has touched any file in drivers/golang
* Updated Readme for drivers folder and added important links related to
Apache-AGE project which were included in other readme files.

* Updated NodeJS driver readme and added important links of Apache-AGE
project as included in other readme files.
- This CI will only run whenever a PR or commit touches files
  drivers/jdbc.

- Added logger to display the result of tests i.e. passing,
  failing etc.
- Removed path directive
- Included PG11 as trigger branch
Found async function without any await expressions in NodeJS Driver. Async keyword is used in Asynchronous programming and for the functions that wait for some responses. These functions dont need to be Asynchronous.
- Removed path directive
- Included PG11 as trigger branch
* Added function to create a Barbell Graph

* Created auxiliary function to get_next_val_internal;
* Currently creates a bridge of no vertexes between graphs,
will be implemented next.

* Added signature to age_create_barbell_graph

* Moved bracket to next line to macth code standards

* Fixed patterns to match code standards

* moved PG_FUNCTION_INFO_V1(age_create_barbell_graph) next to
  age_create_barbell_graph function;
* added brackets to if/else conditions if just one line;
* moved get_nextval_internal auxiliary function to the beggining of
  the file.
@Nimra-1234 Nimra-1234 closed this Feb 18, 2023
@Nimra-1234
Copy link
Copy Markdown
Author

This was for testing purpose. Ignore

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.