SQLite

Check-in [6a1d937d66]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix the build for Macs.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | apple-osx
Files: files | file ages | folders
SHA3-256: 6a1d937d66851ae5f781371def6bedccf90a726e588ab811913a9dca170bc409
User & Date: drh 2018-10-10 01:01:25.168
Context
2018-10-11
13:57
Merge enhancements from trunk. (check-in: 9e10d88bcb user: drh tags: apple-osx)
2018-10-10
01:01
Fix the build for Macs. (check-in: 6a1d937d66 user: drh tags: apple-osx)
2018-10-09
22:58
Merge enhancements from trunk. (check-in: 1b60e7a981 user: drh tags: apple-osx)
Changes
Unified Diff Ignore Whitespace Patch
Changes to ext/rtree/geopoly.c.
531
532
533
534
535
536
537






























538
539
540
541
542
543
544
        GeoCoord t = p->a[ii];
        p->a[ii] = p->a[jj];
        p->a[jj] = t;
        t = p->a[ii+1];
        p->a[ii+1] = p->a[jj+1];
        p->a[jj+1] = t;
      }






























    }
    sqlite3_result_blob(context, p->hdr, 
       4+8*p->nVertex, SQLITE_TRANSIENT);
    sqlite3_free(p);
  }            
}








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
        GeoCoord t = p->a[ii];
        p->a[ii] = p->a[jj];
        p->a[jj] = t;
        t = p->a[ii+1];
        p->a[ii+1] = p->a[jj+1];
        p->a[jj+1] = t;
      }
    }
    sqlite3_result_blob(context, p->hdr, 
       4+8*p->nVertex, SQLITE_TRANSIENT);
    sqlite3_free(p);
  }            
}

/*
** Implementation of the geopoly_reverse(X) function.
**
** Reverse the order of the vertexes in polygon X.  This can be used
** to convert an historical polygon that uses a clockwise rotation into
** a well-formed GeoJSON polygon that uses counter-clockwise rotation.
*/
static void geopolyReverseFunc(
  sqlite3_context *context,
  int argc,
  sqlite3_value **argv
){
  GeoPoly *p = geopolyFuncParam(context, argv[0], 0);
  if( p ){
    int ii, jj;
    for(ii=2, jj=p->nVertex*2 - 4; ii<jj; ii+=2, jj-=2){
      GeoCoord t = p->a[ii];
      p->a[ii] = p->a[jj];
      p->a[jj] = t;
      t = p->a[ii+1];
      p->a[ii+1] = p->a[jj+1];
      p->a[jj+1] = t;

    }
    sqlite3_result_blob(context, p->hdr, 
       4+8*p->nVertex, SQLITE_TRANSIENT);
    sqlite3_free(p);
  }            
}

Changes to src/os_unix.c.
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
    }

    if( pInode->bProcessLock==0 ){
#ifdef __APPLE__
      /* On MacOS and iOS, avoid even trying to open a read-only SHM file
      ** for writing, because doing so generates scary log messages */
      if( osAccess(zShm, R_OK|W_OK)!=0 && (errno==EPERM || errno==EACCES) ){
        pShmNode->h = -1;
      }else
#endif
      if( 0==sqlite3_uri_boolean(pDbFd->zPath, "readonly_shm", 0) ){
        pShmNode->hShm = robust_open(zShm, O_RDWR|O_CREAT,(sStat.st_mode&0777));
      }
      if( pShmNode->hShm<0 ){
        pShmNode->hShm = robust_open(zShm, O_RDONLY, (sStat.st_mode&0777));







|







5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
    }

    if( pInode->bProcessLock==0 ){
#ifdef __APPLE__
      /* On MacOS and iOS, avoid even trying to open a read-only SHM file
      ** for writing, because doing so generates scary log messages */
      if( osAccess(zShm, R_OK|W_OK)!=0 && (errno==EPERM || errno==EACCES) ){
        pShmNode->hShm = -1;
      }else
#endif
      if( 0==sqlite3_uri_boolean(pDbFd->zPath, "readonly_shm", 0) ){
        pShmNode->hShm = robust_open(zShm, O_RDWR|O_CREAT,(sStat.st_mode&0777));
      }
      if( pShmNode->hShm<0 ){
        pShmNode->hShm = robust_open(zShm, O_RDONLY, (sStat.st_mode&0777));