• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..17-Apr-2020-

README.mdH A D17-Apr-20201.2 KiB3529

db.goH A D17-Apr-202024.4 KiB935694

db_eval.goH A D17-Apr-202016 KiB666578

db_query.goH A D17-Apr-202013.3 KiB588428

db_test.goH A D17-Apr-202029.3 KiB1,039921

funcs.goH A D17-Apr-20202.8 KiB10670

inmem.goH A D17-Apr-202024.6 KiB904671

integration_test.goH A D17-Apr-202013.1 KiB416344

README.md

1This directory contains spannertest, an in-memory fake Cloud Spanner. A sibling
2directory, spansql, contains types and parser for the Cloud Spanner SQL dialect.
3
4spansql is reusable for anything that interacts with Cloud Spanner on a
5syntactic basis, such as tools for handling Spanner schema (DDL).
6
7spannertest builds on spansql for testing code that uses Cloud Spanner client
8libraries.
9
10Neither of these packages aims to be performant nor exact replicas of the
11production Cloud Spanner. They are reasonable for building tools, or writing
12unit or integration tests. Full-scale performance testing or serious workloads
13should use the production Cloud Spanner instead.
14
15Here's a list of features that are missing or incomplete. It is roughly ordered
16by ascending esotericism:
17
18- expression functions
19- more aggregation functions
20- INSERT/UPDATE DML statements
21- case insensitivity
22- alternate literal types (esp. strings)
23- STRUCT types
24- SELECT HAVING
25- joins
26- transaction simulation
27- expression type casting, coercion
28- SELECT aliases in FROM clause, ORDER BY
29- subselects
30- set operations (UNION, INTERSECT, EXCEPT)
31- partition support
32- conditional expressions
33- table sampling (implementation)
34- hints for table/joins
35