1.. _vector.memory: 2 3Memory 4====== 5 6.. shortname:: Memory 7 8.. built_in_by_default:: 9 10This driver implements read and write access layers of features 11contained entirely in memory. This is primarily useful as a high 12performance, and highly malleable working data store. All update 13options, geometry types, and field types are supported. 14 15There is no way to open an existing Memory datastore. It must be created 16with CreateDataSource() and populated and used from that handle. When 17the datastore is closed all contents are freed and destroyed. 18 19The driver does not implement spatial or attribute indexing, so spatial 20and attribute queries are still evaluated against all features. Fetching 21features by feature id should be very fast (just an array lookup and 22feature copy). 23 24Driver capabilities 25------------------- 26 27.. supports_create:: 28 29.. supports_georeferencing:: 30 31Creation Issues 32--------------- 33 34Any name may be used for a created datasource. There are no datasource 35or layer creation options supported. Layer names need to be unique, but 36are not otherwise constrained. 37 38Before GDAL 2.1, feature ids passed to CreateFeature() are preserved 39*unless* they exceed 10000000 in which case they will be reset to avoid 40a requirement for an excessively large and sparse feature array. 41Starting with GDAL 2.1, sparse IDs can be handled. 42 43New fields can be added or removed to a layer that already has features. 44