Changeset: 360a8b7d425d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/360a8b7d425d Branch: default Log Message:
Merge with Jun2023 branch. diffs (truncated from 5080 to 300 lines): diff --git a/clients/ChangeLog.Jun2023 b/clients/ChangeLog.Jun2023 --- a/clients/ChangeLog.Jun2023 +++ b/clients/ChangeLog.Jun2023 @@ -1,3 +1,10 @@ # ChangeLog file for clients # This file is updated with Maddlog +* Tue Jun 20 2023 Sjoerd Mullender <sjo...@acm.org> +- The COPY INTO from file ON CLIENT was extended to also look for a + relative path name relative to the file from which the query was read. + This is only possible if the name of the query file is known, so when + it is specified on the command line or read using the interactive + \< command. + diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -78,6 +78,7 @@ static char *encoding; #endif static bool errseen = false; static bool allow_remote = false; +static const char *curfile = NULL; #define setPrompt() snprintf(promptbuf, sizeof(promptbuf), "%.*s>", (int) sizeof(promptbuf) - 2, language) #define debugMode() (strncmp(promptbuf, "mdb", 3) == 0) @@ -2744,8 +2745,14 @@ doFile(Mapi mid, stream *fp, bool useins if (s) close_stream(s); mnstr_printf(stderr_stream, "Cannot open %s: %s\n", line, mnstr_peek_error(NULL)); - } else + } else { + const char *oldfile = curfile; + char *newfile = strdup(line); + curfile = newfile; doFile(mid, s, 0, 0, 0); + curfile = oldfile; + free(newfile); + } continue; } case '>': @@ -3033,8 +3040,25 @@ getfile(void *data, const char *filename } #endif } - if (f == NULL) - return (char*) mnstr_peek_error(NULL); + if (f == NULL) { + if (curfile != NULL) { + char *p = strrchr(curfile, '/'); +#ifdef _MSC_VER + char *q = strrchr(curfile, '\\'); + if (p == NULL || (q != NULL && q > p)) + p = q; +#endif + if (p != NULL) { + size_t x = (size_t) (p - curfile) + strlen(filename) + 2; + char *b = malloc(x); + snprintf(b, x, "%.*s/%s", (int) (p - curfile), curfile, filename); + f = binary ? open_rstream(b) : open_rastream(b); + free(b); + } + } + if (f == NULL) + return (char*) mnstr_peek_error(NULL); + } while (offset > 1) { s = mnstr_readline(f, buf, READSIZE); if (s < 0) { @@ -3528,7 +3552,7 @@ main(int argc, char **argv) c = 0; has_fileargs = optind != argc; - if (dbname == NULL && has_fileargs) { + if (dbname == NULL && has_fileargs && strcmp(argv[optind], "-") != 0) { s = open_rastream(argv[optind]); if (s == NULL || !isfile(getFile(s))) { mnstr_close(s); @@ -3538,6 +3562,8 @@ main(int argc, char **argv) dbname = strdup(argv[optind]); optind++; has_fileargs = optind != argc; + } else { + curfile = argv[optind]; } } @@ -3710,15 +3736,18 @@ main(int argc, char **argv) const char *arg = argv[optind]; if (s == NULL) { - if (strcmp(arg, "-") == 0) + if (strcmp(arg, "-") == 0) { s = stdin_rastream(); - else + } else { s = open_rastream(arg); + curfile = arg; + } } if (s == NULL) { mnstr_printf(stderr_stream, "%s: cannot open: %s\n", arg, mnstr_peek_error(NULL)); c |= 1; optind++; + curfile = NULL; continue; } // doFile closes 's'. diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -2718,7 +2718,7 @@ BATassertProps(BAT *b) } else { if (b->tvheap != NULL) { /* candidate list with exceptions */ - assert(b->batRole == TRANSIENT); + assert(b->batRole == TRANSIENT || b->batRole == SYSTRANS); assert(b->tvheap->free <= b->tvheap->size); assert(b->tvheap->free >= sizeof(ccand_t)); assert((negoid_cand(b) && ccand_free(b) % SIZEOF_OID == 0) || mask_cand(b)); diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -1407,6 +1407,7 @@ BATappend_or_update(BAT *b, BAT *p, cons } mskSetVal(b, updid, Tmskval(&ni, i)); } + bi = bat_iterator_nolock(b); } else if (autoincr) { if (pos < b->hseqbase || (!mayappend && pos + ni.count > hseqend)) { @@ -1435,6 +1436,7 @@ BATappend_or_update(BAT *b, BAT *p, cons bat_iterator_end(&ni); return GDK_FAIL; } + bi = bat_iterator_nolock(b); /* we copy all of n, so if there are nils in n we get * nils in b (and else we don't know) */ diff --git a/geom/monetdb5/CMakeLists.txt b/geom/monetdb5/CMakeLists.txt --- a/geom/monetdb5/CMakeLists.txt +++ b/geom/monetdb5/CMakeLists.txt @@ -24,7 +24,6 @@ if(GEOS_FOUND) PRIVATE geom.c geomBulk.c - geom_upgrade.c ${MONETDB_CURRENT_SQL_SOURCES} PUBLIC ${geomodule_public_headers}) diff --git a/geom/monetdb5/geom.h b/geom/monetdb5/geom.h --- a/geom/monetdb5/geom.h +++ b/geom/monetdb5/geom.h @@ -244,5 +244,3 @@ geom_export str wkbMBR_bat(bat* outBAT_i geom_export str wkbCoordinateFromWKB_bat(bat *outBAT_id, bat *inBAT_id, int* coordinateIdx); geom_export str wkbCoordinateFromMBR_bat(bat *outBAT_id, bat *inBAT_id, int* coordinateIdx); - -geom_export str geom_sql_upgrade(int); diff --git a/geom/monetdb5/geom_upgrade.c b/geom/monetdb5/geom_upgrade.c deleted file mode 100644 --- a/geom/monetdb5/geom_upgrade.c +++ /dev/null @@ -1,4396 +0,0 @@ -/* - * SPDX-License-Identifier: MPL-2.0 - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V. - */ - -/* - * @a Kostis Kyzirakos, Foteini Alvanaki - */ - - -#include "geom.h" -#include "gdk_logger.h" - -str -geom_sql_upgrade(int olddb) -{ - size_t bufsize = 4096000, pos = 0; - str buf; - - if ((buf = GDKmalloc(bufsize)) == NULL) - return NULL; - - /* drop old functions */ - if (olddb) { - pos += snprintf(buf + pos, bufsize - pos, - "drop function \"mbr\";\n" - "drop function \"mbroverlaps\";\n" - "drop function \"geomfromtext\";\n" - "drop function \"pointfromtext\";\n" - "drop function \"linefromtext\";\n" - "drop function \"polyfromtext\";\n" - "drop function \"mpointfromtext\";\n" - "drop function \"mlinefromtext\";\n" - "drop function \"mpolyfromtext\";\n" - "drop function \"geomcollectionfromtext\";\n" - "drop function \"polygonfromtext\";\n" - "drop function \"astext\";\n" - "drop function \"x\";\n" - "drop function \"y\";\n" - "drop function \"point\";\n" - "drop function \"dimension\";\n" - "drop function \"geometrytypeid\";\n" - "drop function \"srid\";\n" - "drop function \"envelope\";\n" - "drop function \"isempty\";\n" - "drop function \"issimple\";\n" - "drop function \"boundary\";\n" - "drop function \"equals\";\n" - "drop function \"disjoint\";\n" - "drop function \"Intersect\";\n" - "drop function \"touches\";\n" - "drop function \"crosses\";\n" - "drop function \"within\";\n" - "drop all function \"contains\";\n" - "drop function \"overlaps\";\n" - "drop function \"relate\";\n" - "drop function \"area\";\n" - "drop function \"length\";\n" - "drop function \"distance\";\n" - "drop function \"buffer\";\n" - "drop function \"convexhull\";\n" - "drop function \"intersection\";\n" - "drop function \"Union\";\n" - "drop function \"difference\";\n" - "drop function \"symdifference\";\n"); - - /* drop old types (but keep the geometry type) **/ - /** pos += snprintf(buf + pos, bufsize - pos, "DROP TYPE Geometry;\n"); **/ - pos += snprintf(buf + pos, bufsize - pos, - "drop type \"point\";\n" - "drop type \"curve\";\n" - "drop type \"linestring\";\n" - "drop type \"surface\";\n" - "drop type \"polygon\";\n" - "drop type \"multipoint\";\n" - "drop type \"multicurve\";\n" - "drop type \"multilinestring\";\n" - "drop type \"multisurface\";\n" - "drop type \"multipolygon\";\n" - "drop type \"geomcollection\";\n"); - } - - /* create the new geometry types */ - pos += snprintf(buf + pos, bufsize - pos, - "CREATE FUNCTION Has_Z(info integer) RETURNS integer EXTERNAL NAME geom.\"hasZ\";\n" - "GRANT EXECUTE ON FUNCTION Has_Z(integer) TO PUBLIC;\n" - "CREATE FUNCTION Has_M(info integer) RETURNS integer EXTERNAL NAME geom.\"hasM\";\n" - "GRANT EXECUTE ON FUNCTION Has_M(integer) TO PUBLIC;\n" - "CREATE FUNCTION get_type(info integer, format integer) RETURNS string EXTERNAL NAME geom.\"getType\";\n" - "GRANT EXECUTE ON FUNCTION get_type(integer, integer) TO PUBLIC;\n" - "CREATE TABLE spatial_ref_sys (\n" - "\tsrid INTEGER NOT NULL PRIMARY KEY,\n" - "\tauth_name VARCHAR (256),\n" - "\tauth_srid INTEGER,\n" - "\tsrtext VARCHAR (2048),\n" - "\tproj4text VARCHAR (2048)\n" - ");\n" - "GRANT SELECT ON spatial_ref_sys TO PUBLIC;\n" - "create view sys.geometry_columns as\n" - "\tselect cast(null as varchar(1)) as f_table_catalog,\n" - "\t\ts.name as f_table_schema,\n" - "\t\tt.name as f_table_name,\n" - "\t\tc.name as f_geometry_column,\n" - "\t\tcast(has_z(c.type_digits) + has_m(c.type_digits) +2 as integer) as coord_dimension,\n" - "\t\tc.type_scale as srid,\n" - "\t\tget_type(c.type_digits, 0) as type\n" - "\tfrom sys.columns c, sys.tables t, sys.schemas s\n" - "\twhere c.table_id = t.id and t.schema_id = s.id\n" - "\t and c.type in (select sqlname from sys.types where systemname in ('wkb', 'wkba'));\n" - "GRANT SELECT ON geometry_columns TO PUBLIC;\n" - "copy 3911 records into spatial_ref_sys from stdin using delimiters '|';\n" - "3819|EPSG|3819|GEOGCS[\"HD1909\",DATUM[\"Hungarian_Datum_1909\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408],AUTHORITY[\"EPSG\",\"1024\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"3819\"]]|+proj=longlat +ellps=bessel +towgs84=595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408 +no_defs\n" - "3821|EPSG|3821|GEOGCS[\"TWD67\",DATUM[\"Taiwan_Datum_1967\",SPHEROID[\"GRS 1967 Modified\",6378160,298.25,AUTHORITY[\"EPSG\",\"7050\"]],AUTHORITY[\"EPSG\",\"1025\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"3821\"]]|+proj=longlat +ellps=aust_SA +no_defs\n" - "3824|EPSG|3824|GEOGCS[\"TWD97\",DATUM[\"Taiwan_Datum_1997\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1026\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"3824\"]]|+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs\n" - "3889|EPSG|3889|GEOGCS[\"IGRS\",DATUM[\"Iraqi_Geospatial_Reference_System\",SPHEROID[\"GRS 1980\",6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"1029\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"3889\"]]|+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs\n" - "3906|EPSG|3906|GEOGCS[\"MGI 1901\",DATUM[\"MGI_1901\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[682,-203,480,0,0,0,0],AUTHORITY[\"EPSG\",\"1031\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"3906\"]]|+proj=longlat +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +no_defs\n" - "4001|EPSG|4001|GEOGCS[\"Unknown datum based upon the Airy 1830 ellipsoid\",DATUM[\"Not_specified_based_on_Airy_1830_ellipsoid\",SPHEROID[\"Airy 1830\",6377563.396,299.3249646,AUTHORITY[\"EPSG\",\"7001\"]],AUTHORITY[\"EPSG\",\"6001\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4001\"]]|+proj=longlat +ellps=airy +no_defs\n" - "4002|EPSG|4002|GEOGCS[\"Unknown datum based upon the Airy Modified 1849 ellipsoid\",DATUM[\"Not_specified_based_on_Airy_Modified_1849_ellipsoid\",SPHEROID[\"Airy Modified 1849\",6377340.189,299.3249646,AUTHORITY[\"EPSG\",\"7002\"]],AUTHORITY[\"EPSG\",\"6002\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4002\"]]|+proj=longlat +ellps=mod_airy +no_defs\n" - "4003|EPSG|4003|GEOGCS[\"Unknown datum based upon the Australian National Spheroid\",DATUM[\"Not_specified_based_on_Australian_National_Spheroid\",SPHEROID[\"Australian National Spheroid\",6378160,298.25,AUTHORITY[\"EPSG\",\"7003\"]],AUTHORITY[\"EPSG\",\"6003\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4003\"]]|+proj=longlat +ellps=aust_SA +no_defs\n" - "4004|EPSG|4004|GEOGCS[\"Unknown datum based upon the Bessel 1841 ellipsoid\",DATUM[\"Not_specified_based_on_Bessel_1841_ellipsoid\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],AUTHORITY[\"EPSG\",\"6004\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4004\"]]|+proj=longlat +ellps=bessel +no_defs\n" - "4005|EPSG|4005|GEOGCS[\"Unknown datum based upon the Bessel Modified ellipsoid\",DATUM[\"Not_specified_based_on_Bessel_Modified_ellipsoid\",SPHEROID[\"Bessel Modified\",6377492.018,299.1528128,AUTHORITY[\"EPSG\",\"7005\"]],AUTHORITY[\"EPSG\",\"6005\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4005\"]]|+proj=longlat +a=6377492.018 +b=6356173.508712696 +no_defs\n" - "4006|EPSG|4006|GEOGCS[\"Unknown datum based upon the Bessel Namibia ellipsoid\",DATUM[\"Not_specified_based_on_Bessel_Namibia_ellipsoid\",SPHEROID[\"Bessel Namibia (GLM)\",6377483.865280419,299.1528128,AUTHORITY[\"EPSG\",\"7046\"]],AUTHORITY[\"EPSG\",\"6006\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4006\"]]|+proj=longlat +ellps=bess_nam +no_defs\n" - "4007|EPSG|4007|GEOGCS[\"Unknown datum based upon the Clarke 1858 ellipsoid\",DATUM[\"Not_specified_based_on_Clarke_1858_ellipsoid\",SPHEROID[\"Clarke 1858\",6378293.645208759,294.2606763692569,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"6007\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4007\"]]|+proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs\n" - "4008|EPSG|4008|GEOGCS[\"Unknown datum based upon the Clarke 1866 ellipsoid\",DATUM[\"Not_specified_based_on_Clarke_1866_ellipsoid\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6008\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4008\"]]|+proj=longlat +ellps=clrk66 +no_defs\n" - "4009|EPSG|4009|GEOGCS[\"Unknown datum based upon the Clarke 1866 Michigan ellipsoid\",DATUM[\"Not_specified_based_on_Clarke_1866_Michigan_ellipsoid\",SPHEROID[\"Clarke 1866 Michigan\",6378450.047548896,294.9786971646739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",\"6009\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4009\"]]|+proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs\n" - "4010|EPSG|4010|GEOGCS[\"Unknown datum based upon the Clarke 1880 (Benoit) ellipsoid\",DATUM[\"Not_specified_based_on_Clarke_1880_Benoit_ellipsoid\",SPHEROID[\"Clarke 1880 (Benoit)\",6378300.789,293.4663155389802,AUTHORITY[\"EPSG\",\"7010\"]],AUTHORITY[\"EPSG\",\"6010\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4010\"]]|+proj=longlat +a=6378300.789 +b=6356566.435 +no_defs\n" - "4011|EPSG|4011|GEOGCS[\"Unknown datum based upon the Clarke 1880 (IGN) ellipsoid\",DATUM[\"Not_specified_based_on_Clarke_1880_IGN_ellipsoid\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\",\"6011\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4011\"]]|+proj=longlat +a=6378249.2 +b=6356515 +no_defs\n" - "4012|EPSG|4012|GEOGCS[\"Unknown datum based upon the Clarke 1880 (RGS) ellipsoid\",DATUM[\"Not_specified_based_on_Clarke_1880_RGS_ellipsoid\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],AUTHORITY[\"EPSG\",\"6012\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4012\"]]|+proj=longlat +ellps=clrk80 +no_defs\n" - "4013|EPSG|4013|GEOGCS[\"Unknown datum based upon the Clarke 1880 (Arc) ellipsoid\",DATUM[\"Not_specified_based_on_Clarke_1880_Arc_ellipsoid\",SPHEROID[\"Clarke 1880 (Arc)\",6378249.145,293.4663077,AUTHORITY[\"EPSG\",\"7013\"]],AUTHORITY[\"EPSG\",\"6013\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4013\"]]|+proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs\n" - "4014|EPSG|4014|GEOGCS[\"Unknown datum based upon the Clarke 1880 (SGA 1922) ellipsoid\",DATUM[\"Not_specified_based_on_Clarke_1880_SGA_1922_ellipsoid\",SPHEROID[\"Clarke 1880 (SGA 1922)\",6378249.2,293.46598,AUTHORITY[\"EPSG\",\"7014\"]],AUTHORITY[\"EPSG\",\"6014\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4014\"]]|+proj=longlat +a=6378249.2 +b=6356514.996941779 +no_defs\n" - "4015|EPSG|4015|GEOGCS[\"Unknown datum based upon the Everest 1830 (1937 Adjustment) ellipsoid\",DATUM[\"Not_specified_based_on_Everest_1830_1937_Adjustment_ellipsoid\",SPHEROID[\"Everest 1830 (1937 Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG\",\"7015\"]],AUTHORITY[\"EPSG\",\"6015\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4015\"]]|+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs\n" _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org