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