Skip to content

Latest commit

 

History

History
56 lines (34 loc) · 2.47 KB

File metadata and controls

56 lines (34 loc) · 2.47 KB

list of removed functions and procedures for 4.0

All freetext/fulltext stuff has been removed in favour of 3.5+ productized fulltext indexes.

procedures

apoc.index.relatedNodes (index feature ootb) apoc.index.orderedRange (index feature ootb)

apoc.static.get (proc deleted, function exists) apoc.static.getAll (proc deleted, function exists)

apoc.monitor.locks() (proc deleted, cannot get information via api)

functions

changed behaviour

  • all apoc* configuration option needs to be moved to apoc.conf

    • apoc.initializer.cypher

    • *apoc.initializer.cypher.<anything>`

    • mongo calls use compatibleValue:true by default. Reason: 4.0 doesn’t support java.util.Date as nested value in a map returned from a procedures. Side effect: date values are returned as millis since epoc.

changes done 3.5 → 4.0

Note
the following list is incomplete
  • Neo4j config does no longer allow adhoc dynamic settings - which apoc uses a lot. Therefore APOC 4.0 uses it’s own apoc.conf, see ApocConfig.java.

  • moving global core API actions from GraphDatabaseService to Transaction - e.g. tx.createNode(…​)

  • removal of graph properties. UUIDHandler, CypherProcedures and Triggers used them in APOC. Instead APOC 4.0 uses systemdb, e.g. we maintain a separate node for each trigger: CREATE (n:ApocTrigger{database: <dbname>}, …​)

  • refactoring lots of static datastructure in APOC into LifeCycles, so they can exist on a per-database level

  • all calls to AlgoFactory require now a ExecutionContext (aka db + tx)

  • TransactionTemplate has been removed from Neo4j

  • org.neo4j.cypher.export.SubGraphExporter et.al have been removed in Neo4j → we add the latest version of the sources to apoc

  • using ImpermanentDatabaseRule instead of TestGraphDatabaseFactory…​

  • ImpermanentDatabaseRule.withSetting() takes now typed values instead of strings

  • curly braces syntax for Cypher parameters no longer supported : $param instead of {param}

  • cypher’s length functions doesn’t work on strings any longer. use size instead

  • TransactionEventHandler renamed to TransactionListener

  • TransactionListener.beforeCommit gets an additional parameter Transaction

  • on API level a IndexDefinition could have multiple labels. Apoc’s Schema should reflect that - to be discussed.

  • nodes/rels acquired in one tx need to be rebound when used in another tx tx.getNodeByid(node.getId())

todos

  • make test (esp. for export functions) independent of internal node ids.