Changeset: 24c2f2049622 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=24c2f2049622
Modified Files:
sql/backends/monet5/vaults/lidar/75_lidar.sql
sql/backends/monet5/vaults/lidar/lidar.c
sql/backends/monet5/vaults/lidar/lidar.mal
Branch: data-vaults
Log Message:
[LiDAR]: Table name can now be specified during attach
SQL syntax:
CALL lidarattach('/path/to/las(z)/file', 'tablename');
MAL syntax:
lidar.attach("/path/to/las(z)/file":str, "tablename");
diffs (64 lines):
diff --git a/sql/backends/monet5/vaults/lidar/75_lidar.sql
b/sql/backends/monet5/vaults/lidar/75_lidar.sql
--- a/sql/backends/monet5/vaults/lidar/75_lidar.sql
+++ b/sql/backends/monet5/vaults/lidar/75_lidar.sql
@@ -1,3 +1,4 @@
create procedure lidarattach(fname string) external name lidar.attach;
+create procedure lidarattach(fname string, tname string) external name
lidar.attach;
create procedure lidarload(tname string) external name lidar.load;
create procedure lidarexport(tname string, fname string, format string)
external name lidar.export;
diff --git a/sql/backends/monet5/vaults/lidar/lidar.c
b/sql/backends/monet5/vaults/lidar/lidar.c
--- a/sql/backends/monet5/vaults/lidar/lidar.c
+++ b/sql/backends/monet5/vaults/lidar/lidar.c
@@ -612,6 +612,7 @@ str LIDARattach(Client cntxt, MalBlkPtr
LASReaderH reader = NULL;
LASHeaderH header = NULL;
str fname = *getArgReference_str(stk, pci, 1);
+ str tname = NULL;
oid fid, tid, cid, rid = oid_nil;
char *tname_low = NULL, *s, bname[BUFSIZ];
char *p;
@@ -628,6 +629,19 @@ str LIDARattach(Client cntxt, MalBlkPtr
double ScaleX, ScaleY, ScaleZ, OffsetX, OffsetY, OffsetZ;
double MinX, MinY, MinZ, MaxX, MaxY, MaxZ;
+ if (pci->argc == 3) {
+ tname = *getArgReference_str(stk, pci, 2);
+ }
+ else if (pci->argc == 2) {
+ tname = fname;
+ }
+
+#ifndef NDEBUG
+ if (tname != NULL) {
+ fprintf(stderr, "Initial table name: %s\n", tname);
+ }
+#endif
+
if ((msg = getSQLContext(cntxt, mb, &m, NULL)) != MAL_SUCCEED)
return msg;
if ((msg = checkSQLContext(cntxt)) != MAL_SUCCEED)
@@ -696,8 +710,8 @@ str LIDARattach(Client cntxt, MalBlkPtr
tid = store_funcs.count_col(tr, col, 1) + 1;
/* extract the file name from the absolute path */
- if ((s = strrchr(fname, DIR_SEP)) == NULL)
- s = fname;
+ if ((s = strrchr(tname, DIR_SEP)) == NULL)
+ s = tname;
else
s++;
strcpy(bname, s);
diff --git a/sql/backends/monet5/vaults/lidar/lidar.mal
b/sql/backends/monet5/vaults/lidar/lidar.mal
--- a/sql/backends/monet5/vaults/lidar/lidar.mal
+++ b/sql/backends/monet5/vaults/lidar/lidar.mal
@@ -14,6 +14,10 @@ pattern attach(fname:str):void
address LIDARattach
comment "Open a LIDAR file and return catalog of the table HDUs";
+pattern attach(fname:str, tname:str):void
+address LIDARattach
+comment "Attach to a specific table"
+
pattern load(tablename:str):void
address LIDARloadTable
comment "Load a LIDAR table from an attached file";
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list