#! /bin/sh
-for s in pgq pgq_node pgq_coop londiste; do
+for s in pgq pgq_node pgq_coop londiste pgq_ext; do
sver=$(git log --raw -n 1 sql/$s/functions | head -1)
fn="sql/$s/functions/$s.version.sql"
fver=$(git log --raw -n 1 "$fn" | head -1)
# schemas, where .upgrade.sql is enough
-AUTO_UPGRADE = ('pgq', 'pgq_node', 'pgq_coop', 'londiste')
+AUTO_UPGRADE = ('pgq', 'pgq_node', 'pgq_coop', 'londiste', 'pgq_ext')
# fetch list of databases
DB_LIST = "select datname from pg_database "\
# schema, ver, filename, recheck_func
['pgq', '3.0', None, None],
['londiste', '3.0', None, None],
+ ['pgq_ext', '2.1', None, None],
]
'sql/pgq_node/pgq_node.upgrade.sql',
'sql/londiste/londiste.upgrade.sql',
'sql/pgq_coop/pgq_coop.upgrade.sql',
+ 'sql/pgq_ext/pgq_ext.upgrade.sql',
+]
+# sql files for special occasions
+extra_sql_files = [
'upgrade/final/v3.0_pgq_core.sql',
- #'sql/txid/txid.sql',
]
if not INSTALL_SQL:
sql_files = []
+ extra_sql_files = []
def getvar(name, default):
try:
DEF_SK3_SUBDIR = getvar('SK3_SUBDIR', '0') != '0'
# create sql files if they dont exist
-for fn in sql_files:
- if not os.path.isfile(fn):
- f = open(fn, 'w')
- wd = os.path.dirname(fn)
- cmd = [sys.executable, '../../scripts/catsql.py', 'structure/install.sql']
- p = Popen(cmd, stdout=f, cwd = wd)
- p.communicate()
- if p.returncode != 0:
- raise Exception('catsql failed')
+def make_sql():
+ for fn in sql_files:
+ if not os.path.isfile(fn):
+ f = open(fn, 'w')
+ wd = os.path.dirname(fn)
+ if fn.endswith('upgrade.sql'):
+ base = 'structure/upgrade.sql'
+ else:
+ base = 'structure/install.sql'
+ print("Creating %s" % (fn,))
+ cmd = [sys.executable, '../../scripts/catsql.py', base]
+ p = Popen(cmd, stdout=f, cwd = wd)
+ p.communicate()
+ if p.returncode != 0:
+ raise Exception('catsql failed')
# remove .py, add suffix
def fixscript(fn, dstdir, sfx):
build.initialize_options(self)
self.build_base = 'build.sk3'
+ def run(self):
+ build.run(self)
+ make_sql()
+
# fix script names in build dir
class sk3_build_scripts(build_scripts):
def run(self):
+
build_scripts.run(self)
for sfn in sfx_scripts:
skylog = DEF_SKYLOG
def run(self):
-
# create installer_config.py with final paths
fn = 'python/skytools/installer_config.py'
cf = open(fn + '.in', 'r').read()
'python/conf/wal-master.ini',
'python/conf/wal-slave.ini',
]),
- ('share/skytools3', sql_files)],
+ ('share/skytools3', sql_files),
+ ('share/skytools3/extra', extra_sql_files)],
ext_modules = c_modules,
scripts = sfx_scripts + nosfx_scripts,
cmdclass = {
$(CATSQL) $(SQLS) > $@
londiste.upgrade.sql: $(SRCS)
- $(CATSQL) structure/functions.sql > $@
+ $(CATSQL) structure/upgrade.sql > $@
test: londiste.sql
$(MAKE) installcheck || { filterdiff --format=unified regression.diffs | less; exit 1; }
--- /dev/null
+\i structure/functions.sql
# fixme: use LDRS here, to upgrade triggers
pgq.upgrade.sql: $(SRCS)
- $(CATSQL) structure/func_internal.sql structure/func_public.sql > $@
+ $(CATSQL) structure/upgrade.sql > $@
#
# docs
--- /dev/null
+\i structure/func_internal.sql
+\i structure/func_public.sql
DATA_built = pgq_coop.sql pgq_coop.upgrade.sql
SQL_FULL = structure/schema.sql structure/functions.sql structure/grants.sql
-SQL_UPGRADE = structure/functions.sql
FUNCS = $(shell sed -n -e '/^\\/{s/\\i //;p}' structure/functions.sql)
SRCS = $(SQL_FULL) $(FUNCS)
$(CATSQL) structure/install.sql > $@
pgq_coop.upgrade.sql: $(SRCS)
- $(CATSQL) $(SQL_UPGRADE) > $@
+ $(CATSQL) structure/upgrade.sql > $@
#
# docs
--- /dev/null
+\i structure/functions.sql
DOCS = README.pgq_ext
-DATA_built = pgq_ext.sql
+DATA_built = pgq_ext.sql pgq_ext.upgrade.sql
SRCS = structure/tables.sql functions/track_batch.sql functions/track_event.sql \
functions/track_tick.sql functions/version.sql
pgq_ext.sql: $(SRCS)
$(CATSQL) structure/install.sql > $@
+pgq_ext.upgrade.sql: $(SRCS)
+ $(CATSQL) structure/upgrade.sql > $@
+
test: pgq_ext.sql
make installcheck || { less regression.diffs ; exit 1; }
create or replace function pgq_ext.version()
returns text as $$
begin
- return '2.1.6';
+ return '3.0.0.1';
end;
$$ language plpgsql;
\i structure/tables.sql
-\i functions/track_batch.sql
-\i functions/track_event.sql
-\i functions/track_tick.sql
-\i functions/version.sql
+\i structure/upgrade.sql
--- /dev/null
+\i functions/track_batch.sql
+\i functions/track_event.sql
+\i functions/track_tick.sql
+\i functions/version.sql
+
$(CATSQL) structure/install.sql > $@
pgq_node.upgrade.sql: $(SRCS)
- $(CATSQL) structure/functions.sql > $@
+ $(CATSQL) structure/upgrade.sql > $@
#
# docs
--- /dev/null
+\i structure/functions.sql