@@ -30,6 +30,10 @@ public abstract static class Builder {
|
30 | 30 |
|
31 | 31 | abstract Builder setRestoreInfo(RestoreInfo restoreInfo);
|
32 | 32 |
|
| 33 | +abstract Builder setVersionRetentionPeriod(String versionRetentionPeriod); |
| 34 | + |
| 35 | +abstract Builder setEarliestVersionTime(Timestamp earliestVersionTime); |
| 36 | + |
33 | 37 | abstract Builder setProto(com.google.spanner.admin.database.v1.Database proto);
|
34 | 38 |
|
35 | 39 | /** Builds the database from this builder. */
|
@@ -41,6 +45,8 @@ abstract static class BuilderImpl extends Builder {
|
41 | 45 | private State state = State.UNSPECIFIED;
|
42 | 46 | private Timestamp createTime;
|
43 | 47 | private RestoreInfo restoreInfo;
|
| 48 | +private String versionRetentionPeriod; |
| 49 | +private Timestamp earliestVersionTime; |
44 | 50 | private com.google.spanner.admin.database.v1.Database proto;
|
45 | 51 |
|
46 | 52 | BuilderImpl(DatabaseId id) {
|
@@ -52,6 +58,8 @@ abstract static class BuilderImpl extends Builder {
|
52 | 58 | this.state = other.state;
|
53 | 59 | this.createTime = other.createTime;
|
54 | 60 | this.restoreInfo = other.restoreInfo;
|
| 61 | +this.versionRetentionPeriod = other.versionRetentionPeriod; |
| 62 | +this.earliestVersionTime = other.earliestVersionTime; |
55 | 63 | this.proto = other.proto;
|
56 | 64 | }
|
57 | 65 |
|
@@ -73,6 +81,18 @@ Builder setRestoreInfo(@Nullable RestoreInfo restoreInfo) {
|
73 | 81 | return this;
|
74 | 82 | }
|
75 | 83 |
|
| 84 | +@Override |
| 85 | +Builder setVersionRetentionPeriod(String versionRetentionPeriod) { |
| 86 | +this.versionRetentionPeriod = versionRetentionPeriod; |
| 87 | +return this; |
| 88 | +} |
| 89 | + |
| 90 | +@Override |
| 91 | +Builder setEarliestVersionTime(Timestamp earliestVersionTime) { |
| 92 | +this.earliestVersionTime = earliestVersionTime; |
| 93 | +return this; |
| 94 | +} |
| 95 | + |
76 | 96 | @Override
|
77 | 97 | Builder setProto(@Nullable com.google.spanner.admin.database.v1.Database proto) {
|
78 | 98 | this.proto = proto;
|
@@ -96,13 +116,17 @@ public enum State {
|
96 | 116 | private final State state;
|
97 | 117 | private final Timestamp createTime;
|
98 | 118 | private final RestoreInfo restoreInfo;
|
| 119 | +private final String versionRetentionPeriod; |
| 120 | +private final Timestamp earliestVersionTime; |
99 | 121 | private final com.google.spanner.admin.database.v1.Database proto;
|
100 | 122 |
|
101 | 123 | public DatabaseInfo(DatabaseId id, State state) {
|
102 | 124 | this.id = id;
|
103 | 125 | this.state = state;
|
104 | 126 | this.createTime = null;
|
105 | 127 | this.restoreInfo = null;
|
| 128 | +this.versionRetentionPeriod = null; |
| 129 | +this.earliestVersionTime = null; |
106 | 130 | this.proto = null;
|
107 | 131 | }
|
108 | 132 |
|
@@ -111,6 +135,8 @@ public DatabaseInfo(DatabaseId id, State state) {
|
111 | 135 | this.state = builder.state;
|
112 | 136 | this.createTime = builder.createTime;
|
113 | 137 | this.restoreInfo = builder.restoreInfo;
|
| 138 | +this.versionRetentionPeriod = builder.versionRetentionPeriod; |
| 139 | +this.earliestVersionTime = builder.earliestVersionTime; |
114 | 140 | this.proto = builder.proto;
|
115 | 141 | }
|
116 | 142 |
|
@@ -129,6 +155,23 @@ public Timestamp getCreateTime() {
|
129 | 155 | return createTime;
|
130 | 156 | }
|
131 | 157 |
|
| 158 | +/** |
| 159 | +* Returns the version retention period of the database. This is the period for which Cloud |
| 160 | +* Spanner retains all versions of data for the database. For instance, if set to 3 days, Cloud |
| 161 | +* Spanner will retain data versions that are up to 3 days old. |
| 162 | +*/ |
| 163 | +public String getVersionRetentionPeriod() { |
| 164 | +return versionRetentionPeriod; |
| 165 | +} |
| 166 | + |
| 167 | +/** |
| 168 | +* Returns the earliest version time of the database. This is the oldest timestamp that can be |
| 169 | +* used to read old versions of the data. |
| 170 | +*/ |
| 171 | +public Timestamp getEarliestVersionTime() { |
| 172 | +return earliestVersionTime; |
| 173 | +} |
| 174 | + |
132 | 175 | /**
|
133 | 176 | * Returns the {@link RestoreInfo} of the database if any is available, or <code>null</code> if no
|
134 | 177 | * {@link RestoreInfo} is available for this database.
|
@@ -154,16 +197,21 @@ public boolean equals(Object o) {
|
154 | 197 | return id.equals(that.id)
|
155 | 198 | && state == that.state
|
156 | 199 | && Objects.equals(createTime, that.createTime)
|
157 |
| -&& Objects.equals(restoreInfo, that.restoreInfo); |
| 200 | +&& Objects.equals(restoreInfo, that.restoreInfo) |
| 201 | +&& Objects.equals(versionRetentionPeriod, that.versionRetentionPeriod) |
| 202 | +&& Objects.equals(earliestVersionTime, that.earliestVersionTime); |
158 | 203 | }
|
159 | 204 |
|
160 | 205 | @Override
|
161 | 206 | public int hashCode() {
|
162 |
| -return Objects.hash(id, state, createTime, restoreInfo); |
| 207 | +return Objects.hash( |
| 208 | +id, state, createTime, restoreInfo, versionRetentionPeriod, earliestVersionTime); |
163 | 209 | }
|
164 | 210 |
|
165 | 211 | @Override
|
166 | 212 | public String toString() {
|
167 |
| -return String.format("Database[%s, %s, %s, %s]", id.getName(), state, createTime, restoreInfo); |
| 213 | +return String.format( |
| 214 | +"Database[%s, %s, %s, %s, %s, %s]", |
| 215 | +id.getName(), state, createTime, restoreInfo, versionRetentionPeriod, earliestVersionTime); |
168 | 216 | }
|
169 | 217 | }
|
0 commit comments