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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list