Agensgraph Versions Save

AgensGraph, a transactional graph database based on PostgreSQL

v2.1.2

4 years ago
  • Bug Fix
    • Could not determine collation
    • Dump output of ScalarArrayOpExpr for IN expression

v2.1.1

5 years ago
  • Bug Fix
    • Make all Cypher log() calls use ln(), the natural logarithm
    • Care nested loop context in VLE
    • Make re-scanning inner scan work
    • Cypher substring function uses wrong start index
    • Handle JsonbValue.val.string.val properly
    • Fixed to check agversion before dump graphmeta
    • Fixed type casting errors in functions such as min(), max(), avg(), sum()

v2.1.0

5 years ago
  • Performance Enhancement

    • Cypher
      • Enhance shortestpath algorithm and minor features
        • No path variable name on shortest path
        • Support property constraint on shortest path
        • Support variable name on relation of shortest path
  • Cypher Implemention

    • Support IN for sub-queries
  • Usability

    • Improve Graph meta
      • Add a GUC on graphmeta which decide it works automatic or not
      • Add a function regather_graphmeta() which reset and gather graphmeta
    • Add help command in agens shell
    • Make built-in functions usable
      • Change the implementation of constants
      • Implement type casting
        • Implement pre-evaluating CypherTypeCast
        • Implement auto type casting on function call
        • Implement auto type casting on operators
        • jsonb to graphid -> numeric to graphid
      • Update comment about token precedence in gram.y
  • Bug Fix

    • Coerce type of return values to jsonb
    • Fix incorrect spacePeak of shortestpath
    • Fix incorrect result of shortestpath on no lables
    • Fix missing part of pg_dump
    • Remove fatal case with graphmeta
      • When the main transaction is read only and sub transaction writes graph
    • Memory leak occurs when execute SET is executed multiple times
      • Eliminate features that merge expression modifications to the same element

v2.0.0

5 years ago
  • Performance Enhancement

    • Remove use of SPI in ModifyGraph
  • Cypher Implementation

    • Support STARTS WITH / ENDS WITH / CONTAINS clauses
    • Support PREPARE statement for Cypher
  • Usability

    • Support =~ operator for regex matching
    • Handle graphid comparisons ex) MATCH (n) WHERE id(n) = '1.1' AND id(n) = 1.1 RETURN n;
    • Implicit conversion of any value to jsonb during LOAD ex) LOAD FROM external_table AS r CREATE (:v = r);
    • Print NULL values in _vertex, _edge, and graphpath
    • Validate AG_VERSION before init or start
    • Added installation step for RHEL
    • The metric catalog ag_graphmeta has been added
    • Improve labels() on vertex
    • Support storing null properties
    • Support DROP VLABEL ... CASCADE
  • PostgreSQL

    • Merge PostgreSQL 10.4
  • Bug Fix

    • Build failure due to lack of AG_GIT_REVISION on Windows
    • Handle zero-length graphpath correctly
    • Use DirectFunctionCall1 for jsonb_in
    • Error occurs using graphpath and variable length edge
    • Allow ON CREATE/MATCH SET between MERGE clauses
    • pg_depend also should be dumped for restoration
    • Return null value on first optional match
    • Solve SRF issues
    • Parallel worker cannot copy guc 'graph_path'
    • DELETE plan passes 'edge' variable to the next plan
    • Remove valgrind warning
    • Invisible tuples occur in the same statement
    • Create a label that does not exist while running CREATE clause
    • Redefinition of JsonbParseState and JsonbIterator
    • Error occurs in contrib - Remove unnecessary extensions(postgresql_hll, hadoop_fdw, pg_statsinfo, pg_hint_plan)
    • Invalid dijkstra resultset
    • Fatal occurs in continous delete clauses
    • Some DELETE cases fail on Agensgraph
    • Cannot delete graph elements that belong to the graphpath
    • The join order of graph joins has changed
    • Prevent infinite loop
    • The result of SET query is different from neo4j
    • Reduce memory usage of hashtable in modifygraph plan
    • Error occurs using an alias for a property
    • support to use cypher on condition of if statement
    • Occur Error using graph modify clause in PL/pgSQL
    • Remove all use of code that are related to edgeref type

v1.3.2

5 years ago
  • Bug Fix
    • VLE returns incorrect result with sequential scan
    • Graph CONSTRAINT dump & restore bug fix
    • Handle parameters with UNKNOWNOID type

v1.2.1

5 years ago
  • Bug Fix
    • Cannot refer to vertex in the same clause
    • Memory leak occurs in Modify Graph
    • Memory leak when loading data into indexed label
    • Revert deletion of CID increaing and remove meaningless code
    • Dump & restore rework for pg_upgrade
    • 'pg_dump' works even if there is only 1 graph in a database
    • TRUNCATE TABLE on graph labels is disabled
    • Prevent drop index on property index

v1.3.1

6 years ago
  • Bug Fix
    • Nested use of variables in list comprehension
    • Memory optimization when doing CREATE or MERGE
    • pg_dump works even if there is only 1 graph in a database

v1.3.0

6 years ago
  • Performance Enhancement
    • Improve Cypher eager plan performance
  • Cypher Implementation
    • Cypher expression implemented
      • You do not need to use type casting anymore
    • Support List Comprehension
      • all(), any(), none(), single()
    • Enable the vertex reference just created
      • ex) CREATE (a:city {name:'Seoul'}), (b:person {from:a.name});
    • MATCH ONLY is supported
      • If you match only parent label with out child label, you can use keyword 'ONLY'
      • ex) MATCH (a)-[r:linked ONLY]->(b) RETURN r;
  • External Module
    • Window installer rework
    • AG JDBC 1.4.1 released for AgensGraph v1.3.0
  • Usability
    • Allow white space in graph name
    • Add command \dGi, which shows list of property indexes
    • pg_dump/pg_restore/pg_upgrade is now available in AgensGraph
    • Return NULL when the accessed value is jsonb null
    • Print revision with 'agens --revision', 'ag_ctl --revision'
    • Remove trailing zeroes from exponent operator
  • Bug Fix
    • Fix some VLE (variable length edge) query returns invalid results
    • Fix fatal error when using DELETE and MERGE in combination
    • Prohibit TRUNCATE on graph labels
    • Prohibit DROP INDEX from drop PROPERTY INDEX
    • Set 'AGDATA' to the given database name for initdb
    • Assign collations to values of SET exprs
    • Fix vertex reference problem in the same clause
    • Fix memory leak when loading data into indexed label

v1.2.0

6 years ago
  • Performance Enhancement
    • Improved ‘shortestpath()’
  • Cypher Implementation
    • Consecutive use of writing clauses is enabled
    • Enable ‘RETURN’ after ‘SET’
  • External module
    • upgrade pg_hint_plan from 1.1.3 to 1.2
  • Usability
    • Create labels on demand
    • Add GUC variable ‘case_sensitive_ident’
    • Add function ‘DIJKSTRA()’
    • Add catalog ‘ag_property_indexes’
    • Print modified graph objects count include zero count
  • Bug Fix
    • ‘IF (NOT) EXIST’ operation works
    • ‘CREATE invalid_expression’ prints error normally
    • ‘RETURN path’ works
    • Error in multiple ‘SET’ is fixed
    • ‘RETURN *’ do not return internal variable
    • ‘pg_dump’ works normally and restores successfully
    • ‘SET’ to a null value removes property

v1.1.0

7 years ago
  • Performance Enhancement
    • Adjust the sampling rate of edge for better plan.
    • Make use of property indexes to process property constraints in curly brackets.
    • Implement veriable length edge feature at execution level.
  • Cypher Implementation
    • Support MERGE clause.
    • Prevent from specifying labels on variables which come from previous clauses.
    • Ignore properties with NULL value so that those properties are not stored.
    • Check labels on the same variable in the given graph pattern are identical.
  • Minor Modification
    • Allow ALTER TABLE on graph labels for superuser.
  • External module
    • Support Hadoop FDW extension
    • Support HyperLogLog extension
  • PostgreSQL
    • Merge PostgreSQL 9.6.2
  • Bug Fix
    • Fix a fatal error when modifying a graph with prepared statements
    • Use a dedicated variable for result relations of ModifyGraph
    • Return the modified list in adjustFutureVertices()