Update of /cvsroot/monetdb/pathfinder/src/sqlhelpers/db2tools
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv28671
Modified Files:
pfcreatetables.sh pfloadtables.sh
Log Message:
Integrating the support of namespaces in the helper scripts.
Index: pfcreatetables.sh
===================================================================
RCS file:
/cvsroot/monetdb/pathfinder/src/sqlhelpers/db2tools/pfcreatetables.sh,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- pfcreatetables.sh 26 Sep 2007 08:38:45 -0000 1.2
+++ pfcreatetables.sh 11 Jan 2008 14:38:33 -0000 1.3
@@ -8,6 +8,7 @@
DEBUG=0
TAB_NAMES="names"
+TAB_URIS="uris"
TAB_DOC="doc"
TAB_XMLDOC="xmldoc"
@@ -86,15 +87,37 @@
return ${EFLAG}
}
+function create_uris {
+ #check parameter list
+ if [ ${#} -ne 2]; then
+ error "Usage: ${0} <schema> <tabname>"
+ fi
+
+ SCHEMA=${1}
+ TABNAME=${2}
+
+ # set schema to ours
+ ${DB2} "set current schema ${SCHEMA}"
+
+ # create the uris-table
+ ${DB2} -t<<EOT
+CREATE TABLE ${TABNAME}(uriid INT NOT NULL PRIMARY KEY,
+ uri VARCHAR(100) NOT NULL);
+EOT
+ EFLAG=${?}
+ return ${EFLAG}
+}
+
function create_doc {
#check parameter list
- if [ ${#} -ne 3 ]; then
- error "Usage: ${0} <schema> <tabname> <namesname>"
+ if [ ${#} -ne 4 ]; then
+ error "Usage: ${0} <schema> <tabname> <namesname> <urisname>"
fi
SCHEMA=${1}
TABNAME=${2}
NAMESNAME=${3}
+ URISNAME=${4}
${DB2} "set current schema ${SCHEMA}"
@@ -106,8 +129,10 @@
nameid INT,
value VARCHAR(100),
guide INT NOT NULL,
+ uriid INT,
pre_plus_size INT GENERATED ALWAYS AS (pre + size),
- FOREIGN KEY (nameid) references ${NAMESNAME}(nameid));
+ FOREIGN KEY (nameid) REFERENCES ${NAMESNAME}(nameid),
+ FOREIGN KEY (uriid) REFERENCES ${URISNAME}(uriid));
EOT
EFLAG=${?}
return ${EFLAG}
@@ -115,26 +140,30 @@
function create_xmldoc {
#check parameter list
- if [ ${#} -ne 4 ]; then
- error "Usage: ${0} <schema> <tabname> <docname> <namesname>"
+ if [ ${#} -ne 5 ]; then
+ error "Usage: ${0} <schema> <tabname> <docname> <namesname> <urisname>"
fi
SCHEMA=${1}
TABNAME=${2}
DOCNAME=${3}
- NAMENAME=${4}
+ NAMESNAME=${4}
+ URISNAME=${5}
${DB2} "set current schema ${SCHEMA}"
${DB2} -t<<EOT
CREATE VIEW ${TABNAME}(pre, size, level, kind, guide,
- nameid, value, name) AS
+ value, name, uri, nameid, uriid) AS
(SELECT pre, size, level, kind, guide,
- doc.nameid, value, name
+ value, name, uri, doc.nameid, doc.uriid
FROM ${DOCNAME} AS doc
LEFT OUTER JOIN
${NAMESNAME} AS names
- ON doc.nameid = names.nameid);
+ ON doc.nameid = names.nameid
+ LEFT OUTER JOIN
+ ${URISNAME} AS uris
+ ON doc.uriid = uris.uriid);
EOT
EFLAG=${?}
return ${EFLAG}
@@ -165,6 +194,20 @@
return ${EFLAG}
}
+function drop_uris {
+ #check parameter list
+ if [ ${#} -ne 1 ]; then
+ error "Usage: ${0} <schema>"
+ fi
+
+ SCHEMA=${1}
+
+ ${DB2} "set current schema ${SCHEMA}"
+ drop_table "${TAB_URIS}"
+ EFLAG=${?}
+ return ${EFLAG}
+}
+
function drop_doc {
#check parameter list
if [ ${#} -ne 1 ]; then
@@ -230,11 +273,15 @@
EFLAG=${?};
out -ne "Creating ${SCHEMA}.${TAB_NAMES} ... "; fail ${EFLAG};
- create_doc ${SCHEMA} ${TAB_DOC} ${TAB_NAMES};
+ create_uris ${SCHEMA} ${TAB_URIS};
+ EFLAG=${?};
+ out -ne "Creating ${SCHEMA}.${TAB_URIS} ... "; fail ${EFLAG};
+
+ create_doc ${SCHEMA} ${TAB_DOC} ${TAB_NAMES} ${TAB_URIS};
EFLAG=${?};
out -ne "Creating ${SCHEMA}.${TAB_DOC} ... "; fail ${EFLAG};
- create_xmldoc ${SCHEMA} ${TAB_XMLDOC} ${TAB_DOC} ${TAB_NAMES};
+ create_xmldoc ${SCHEMA} ${TAB_XMLDOC} ${TAB_DOC} ${TAB_NAMES}
${TAB_URIS};
EFLAG=${?};
out -ne "Creating ${SCHEMA}.${TAB_XMLDOC} ... "; fail ${EFLAG};
;;
@@ -250,6 +297,10 @@
drop_names ${SCHEMA}
EFLAG=${?}
out -ne "Dropping ${SCHEMA}.${TAB_NAMES} ... "; fail ${EFLAG};
+
+ drop_uris ${SCHEMA}
+ EFLAG=${?}
+ out -ne "Dropping ${SCHEMA}.${TAB_URIS} ... "; fail ${EFLAG};
;;
*) print_help;
exit 1;
Index: pfloadtables.sh
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/src/sqlhelpers/db2tools/pfloadtables.sh,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- pfloadtables.sh 26 Sep 2007 08:38:45 -0000 1.2
+++ pfloadtables.sh 11 Jan 2008 14:38:33 -0000 1.3
@@ -8,6 +8,7 @@
DEBUG=0
TAB_NAMES="names"
+TAB_URIS="uris"
TAB_DOC="doc"
TAB_XMLDOC="xmldoc"
@@ -109,12 +110,13 @@
out -e "<schema>:\tName of the Schema the content should be
placed/removed."
out -e "<enc_file>:\tEncoded XML-Document"
out -e "<name_file>:\tEncoded Name-File "
+ out -e "<uri_file>:\tEncoded Namespace-File"
}
################################################
# MAIN
-if [ $# -ne 4 ]; then
+if [ $# -ne 5 ]; then
print_help;
exit 0;
fi
@@ -123,6 +125,7 @@
SCHEMA=${2}
LFILE=${3}
NFILE=${4}
+UFILE=${5}
${DB2} "connect to ${DATABASE}"
EFLAG=${?}
@@ -134,6 +137,10 @@
EFLAG=${?};
out -ne "Loading ${SCHEMA}.${TAB_NAMES} ... "; fail ${EFLAG};
+load_table "${UFILE}" "${SCHEMA}" "${TAB_URIS}";
+EFLAG=${?};
+out -ne "Loading ${SCHEMA}.${TAB_URS} ... "; fail ${EFLAG};
+
load_table ${LFILE} "${SCHEMA}" "${TAB_DOC}";
EFLAG=${?};
out -ne "Loading ${SCHEMA}.${TAB_DOC} ... "; fail ${EFLAG};
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins