Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
23 changes: 23 additions & 0 deletions COPYRIGHT
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
PostgreSQL Database Management System
(formerly known as Postgres, then as Postgres95)

Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group

Portions Copyright (c) 1994, The Regents of the University of California

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written agreement
is hereby granted, provided that the above copyright notice and this
paragraph and the following two paragraphs appear in all copies.

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
143 changes: 143 additions & 0 deletions GNUmakefile.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
#
# PostgreSQL top level makefile
#
# GNUmakefile.in
#

subdir =
top_builddir = .
include $(top_builddir)/src/Makefile.global

$(call recurse,all install,src config)

docs:
$(MAKE) -C doc all

$(call recurse,world,doc src config contrib,all)

# build src/ before contrib/
world-contrib-recurse: world-src-recurse

$(call recurse,world-bin,src config contrib,all)

# build src/ before contrib/
world-bin-contrib-recurse: world-bin-src-recurse

html man:
$(MAKE) -C doc $@

install-docs:
$(MAKE) -C doc install

$(call recurse,install-world,doc src config contrib,install)

# build src/ before contrib/
install-world-contrib-recurse: install-world-src-recurse

$(call recurse,install-world-bin,src config contrib,install)

# build src/ before contrib/
install-world-bin-contrib-recurse: install-world-bin-src-recurse

$(call recurse,installdirs uninstall init-po update-po,doc src config)

$(call recurse,distprep coverage,doc src config contrib)

# clean, distclean, etc should apply to contrib too, even though
# it's not built by default
$(call recurse,clean,doc contrib src config)
clean:
rm -rf tmp_install/
# Garbage from autoconf:
@rm -rf autom4te.cache/

# Important: distclean `src' last, otherwise Makefile.global
# will be gone too soon.
distclean maintainer-clean:
$(MAKE) -C doc $@
$(MAKE) -C contrib $@
$(MAKE) -C config $@
$(MAKE) -C src $@
rm -rf tmp_install/
# Garbage from autoconf:
@rm -rf autom4te.cache/
rm -f config.cache config.log config.status GNUmakefile

check-tests: | temp-install
check check-tests installcheck installcheck-parallel installcheck-tests: CHECKPREP_TOP=src/test/regress
check check-tests installcheck installcheck-parallel installcheck-tests: submake-generated-headers
$(MAKE) -C src/test/regress $@

$(call recurse,check-world,src/test src/pl src/interfaces/ecpg contrib src/bin,check)
$(call recurse,checkprep, src/test src/pl src/interfaces/ecpg contrib src/bin)

$(call recurse,installcheck-world,src/test src/pl src/interfaces/ecpg contrib src/bin,installcheck)
$(call recurse,install-tests,src/test/regress,install-tests)

GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
./config.status $@

update-unicode: | submake-generated-headers submake-libpgport
$(MAKE) -C src/common/unicode $@
$(MAKE) -C contrib/unaccent $@


##########################################################################

distdir = postgresql-$(VERSION)
dummy = =install=

dist: $(distdir).tar.gz $(distdir).tar.bz2
rm -rf $(distdir)

$(distdir).tar: distdir
$(TAR) chf $@ $(distdir)

.INTERMEDIATE: $(distdir).tar

distdir-location:
@echo $(distdir)

distdir:
rm -rf $(distdir)* $(dummy)
for x in `cd $(top_srcdir) && find . \( -name CVS -prune \) -o \( -name .git -prune \) -o -print`; do \
file=`expr X$$x : 'X\./\(.*\)'`; \
if test -d "$(top_srcdir)/$$file" ; then \
mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file"; \
else \
ln "$(top_srcdir)/$$file" "$(distdir)/$$file" >/dev/null 2>&1 \
|| cp "$(top_srcdir)/$$file" "$(distdir)/$$file"; \
fi || exit; \
done
$(MAKE) -C $(distdir) distprep
$(MAKE) -C $(distdir)/doc/src/sgml/ INSTALL
cp $(distdir)/doc/src/sgml/INSTALL $(distdir)/
$(MAKE) -C $(distdir) distclean
rm -f $(distdir)/README.git

distcheck: dist
rm -rf $(dummy)
mkdir $(dummy)
$(GZIP) -d -c $(distdir).tar.gz | $(TAR) xf -
install_prefix=`cd $(dummy) && pwd`; \
cd $(distdir) \
&& ./configure --prefix="$$install_prefix"
$(MAKE) -C $(distdir) -q distprep
$(MAKE) -C $(distdir)
$(MAKE) -C $(distdir) install
$(MAKE) -C $(distdir) uninstall
@echo "checking whether \`$(MAKE) uninstall' works"
test `find $(dummy) ! -type d | wc -l` -eq 0
$(MAKE) -C $(distdir) dist
# Room for improvement: Check here whether this distribution tarball
# is sufficiently similar to the original one.
rm -rf $(distdir) $(dummy)
@echo "Distribution integrity checks out."

headerscheck: submake-generated-headers
$(top_srcdir)/src/tools/pginclude/headerscheck $(top_srcdir) $(abs_top_builddir)

cpluspluscheck: submake-generated-headers
$(top_srcdir)/src/tools/pginclude/cpluspluscheck $(top_srcdir) $(abs_top_builddir)

.PHONY: dist distdir distcheck docs install-docs world check-world install-world installcheck-world headerscheck cpluspluscheck
5 changes: 5 additions & 0 deletions HISTORY
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Release notes for all versions of PostgreSQL can be found on-line at
https://www.postgresql.org/docs/current/release.html

Distribution file sets include release notes for their version and preceding
versions. Visit the file doc/src/sgml/html/release.html in an HTML browser.
44 changes: 37 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,11 +1,41 @@
MODULES = agensgraph
# The PostgreSQL make files exploit features of GNU make that other
# makes do not have. Because it is a common mistake for users to try
# to build Postgres with a different make, we have this make file
# that, as a service, will look for a GNU make and invoke it, or show
# an error message if none could be found.

EXTENSION = agensgraph
# If the user were using GNU make now, this file would not get used
# because GNU make uses a make file named "GNUmakefile" in preference
# to "Makefile" if it exists. PostgreSQL is shipped with a
# "GNUmakefile". If the user hasn't run the configure script yet, the
# GNUmakefile won't exist yet, so we catch that case as well.

DATA = agensgraph--0.0.0.sql

REGRESS = cypher
# AIX make defaults to building *every* target of the first rule. Start with
# a single-target, empty rule to make the other targets non-default.
all:

PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
all check install installdirs installcheck installcheck-parallel uninstall clean distclean maintainer-clean dist distcheck world check-world install-world installcheck-world:
@if [ ! -f GNUmakefile ] ; then \
echo "You need to run the 'configure' program first. See the file"; \
echo "'INSTALL' for installation instructions." ; \
false ; \
fi
@IFS=':' ; \
for dir in $$PATH; do \
for prog in gmake gnumake make; do \
if [ -f $$dir/$$prog ] && ( $$dir/$$prog -f /dev/null --version 2>/dev/null | grep GNU >/dev/null 2>&1 ) ; then \
GMAKE=$$dir/$$prog; \
break 2; \
fi; \
done; \
done; \
\
if [ x"$${GMAKE+set}" = xset ]; then \
echo "Using GNU make found at $${GMAKE}"; \
unset MAKELEVEL; \
$${GMAKE} $@ ; \
else \
echo "You must use GNU make to build PostgreSQL." ; \
false; \
fi
27 changes: 27 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
PostgreSQL Database Management System
=====================================

This directory contains the source code distribution of the PostgreSQL
database management system.

PostgreSQL is an advanced object-relational database management system
that supports an extended subset of the SQL standard, including
transactions, foreign keys, subqueries, triggers, user-defined types
and functions. This distribution also contains C language bindings.

PostgreSQL has many language interfaces, many of which are listed here:

https://www.postgresql.org/download/

See the file INSTALL for instructions on how to build and install
PostgreSQL. That file also lists supported operating systems and
hardware platforms and contains information regarding any other
software packages that are required to build or run the PostgreSQL
system. Copyright and license information can be found in the
file COPYRIGHT. A comprehensive documentation set is included in this
distribution; it can be read as described in the installation
instructions.

The latest version of this software may be obtained at
https://www.postgresql.org/download/. For more information look at our
web site located at https://www.postgresql.org/.
14 changes: 14 additions & 0 deletions README.git
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
(This file does not appear in release tarballs.)

In a release or snapshot tarball of PostgreSQL, a documentation file named
INSTALL will appear in this directory. However, this file is not stored in
git and so will not be present if you are using a git checkout.

If you are using a git checkout, you can view the most recent installation
instructions at:
https://www.postgresql.org/docs/devel/installation.html

Users compiling from git will also need compatible versions of Bison, Flex,
and Perl, as discussed in the install documentation. These programs are not
needed when using a tarball, since the files they are needed to build are
already present in the tarball. (On Windows, however, you need Perl anyway.)
77 changes: 77 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
GraphDatabase: Powerful Graph Database
====================================
![Build Status](https://github.com/apache/age/gdbms_cypher/actions/workflows/regression.yml/badge.svg)

GraphDatabase is a new generation multi-model graph database for the modern complex data environment. GraphDatabase is a multi-model database, which supports the relational and graph data model at the same time that enables developers to integrate the legacy relational data model and the flexible graph data model in one database. GraphDatabase supports ANSI-SQL and openCypher (http://www.opencypher.org). SQL queries and Cypher queries can be integrated into a single query in GraphDatabase.

GraphDatabase is based on the powerful PostgreSQL RDBMS, and is very robust, fully-featured and ready for enterprise use. GraphDatabase is optimized for handling complex connected graph data and provides plenty of powerful database features essential to the enterprise database environment including ACID transactions, multi-version concurrency control, stored procedure, triggers, constraints, sophisticated monitoring and a flexible data model (JSON). Moreover, GraphDatabase leverages the rich eco-systems of PostgreSQL and can be extended with many outstanding external modules, like PostGIS.

Building from the Source Code
-------------------
1. Clone GraphDatabase onto your local machine
```sh
$ git clone https://github.com/apache/age/gdbms_cypher.git
```

2. Install the necessary libraries and dependencies:
* CENTOS:
```sh
$ yum install gcc glibc glib-common readline readline-devel zlib zlib-devel
```

* Fedora:
```sh
$ dnf install gcc glibc bison flex readline readline-devel zlib zlib-devel
```

* RHEL:
```sh
$ yum install gcc glibc glib-common readline readline-devel zlib zlib-devel flex bison
```

* Ubuntu:
```sh
$ sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison
```

* macOS (install Xcode):
```bash
$ xcode-select --install
```


3. Configure the source tree in /path/to/graphdatabase:
```sh
$ ./configure --prefix=$(pwd)
```
>By default, `make install` will install all the files in `/usr/local/pgsql/bin`, `/usr/local/pgsql/lib` etc. You want to specify an installation prefix to the current library.
> If `configure` doesn't find any header with an error message, you can use `--with-includes=/path/to/headers` option.

4. Build & install GraphDatabase:
* Build and install GraphDatabase engine
```sh
$ make install
```

* Add the install path to the `PATH` environment variable to allow the modules that need `pg_config` to get necessary installation information. If you installed GraphDatabase at the same location as the source directory you pulled from GitHub, then you can use the `ag-env.sh` script, which sets `PATH` and `LD_LIBRARY_PATH` using the current directory. Run the following command to use the script:
```sh
$ . ag-env.sh
```
OR, if you installed GraphDatabase elsewhere, you can also do so by editing your `/.bashrc` file (`/.bash_profile` on macOS) with the following command:
```sh
$ echo "export PATH=/path/to/graphdatabase/bin:\$PATH" >> ~/.bashrc
$ echo "export LD_LIBRARY_PATH=/path/to/graphdatabase/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
```
* OPTIONAL: Build and install GraphDatabase along with other contrib and external modules (If you want to build GraphDatabase alone, run make install. This command builds GraphDatabase along with additional extensions):
```sh
$ make install-world
```

* OPTIONAL: Set the `AGDATA` environment variable to easily configure GraphDatabase settings when necessary:
```sh
$ echo "export AGDATA=/path/to/graphdatabase/data" >> ~/.bashrc
```

License
-------
* [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0)
14 changes: 14 additions & 0 deletions aclocal.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
dnl aclocal.m4
m4_include([config/ac_func_accept_argtypes.m4])
m4_include([config/ax_pthread.m4])
m4_include([config/c-compiler.m4])
m4_include([config/c-library.m4])
m4_include([config/check_decls.m4])
m4_include([config/general.m4])
m4_include([config/libtool.m4])
m4_include([config/llvm.m4])
m4_include([config/perl.m4])
m4_include([config/pkg.m4])
m4_include([config/programs.m4])
m4_include([config/python.m4])
m4_include([config/tcl.m4])
7 changes: 0 additions & 7 deletions agensgraph--0.0.0.sql

This file was deleted.

20 changes: 0 additions & 20 deletions agensgraph.c

This file was deleted.

4 changes: 0 additions & 4 deletions agensgraph.control

This file was deleted.

Loading