lsst-felis 27.2024.4100__py3-none-any.whl → 27.2024.4200__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of lsst-felis might be problematic. Click here for more details.

@@ -0,0 +1,273 @@
1
+ name: TAP_SCHEMA
2
+ version: "1.1"
3
+ description: A TAP-standard-mandated schema to describe tablesets in a TAP 1.1 service
4
+ tables:
5
+ - name: "schemas"
6
+ description: description of schemas in this tableset
7
+ primaryKey: "#schemas.schema_name"
8
+ tap:table_index: 100000
9
+ mysql:engine: "InnoDB"
10
+ columns:
11
+ - name: "schema_name"
12
+ datatype: "string"
13
+ description: schema name for reference to tap_schema.schemas
14
+ length: 64
15
+ nullable: false
16
+ tap:principal: 1
17
+ tap:std: 1
18
+ tap:column_index: 1
19
+ - name: "utype"
20
+ datatype: "string"
21
+ description: lists the utypes of schemas in the tableset
22
+ length: 512
23
+ tap:principal: 1
24
+ tap:std: 1
25
+ tap:column_index: 2
26
+ - name: "description"
27
+ datatype: "string"
28
+ description: describes schemas in the tableset
29
+ length: 512
30
+ tap:principal: 1
31
+ tap:std: 1
32
+ tap:column_index: 3
33
+ - name: "schema_index"
34
+ datatype: "int"
35
+ description: recommended sort order when listing schemas
36
+ tap:principal: 1
37
+ tap:std: 1
38
+ tap:column_index: 4
39
+ - name: "tables"
40
+ description: description of tables in this tableset
41
+ primaryKey: "#tables.table_name"
42
+ tap:table_index: 101000
43
+ mysql:engine: "InnoDB"
44
+ columns:
45
+ - name: schema_name
46
+ datatype: string
47
+ description: the schema this table belongs to
48
+ length: 64
49
+ nullable: false
50
+ tap:principal: 1
51
+ tap:std: 1
52
+ tap:column_index: 1
53
+ - name: table_name
54
+ datatype: string
55
+ description: the fully qualified table name
56
+ length: 128
57
+ nullable: false
58
+ tap:principal: 1
59
+ tap:std: 1
60
+ tap:column_index: 2
61
+ - name: table_type
62
+ datatype: string
63
+ description: "one of: table view"
64
+ length: 8
65
+ nullable: false
66
+ tap:principal: 1
67
+ tap:std: 1
68
+ tap:column_index: 3
69
+ - name: utype
70
+ datatype: string
71
+ description: lists the utype of tables in the tableset
72
+ length: 512
73
+ tap:principal: 1
74
+ tap:std: 1
75
+ tap:column_index: 4
76
+ - name: description
77
+ datatype: string
78
+ description: describes tables in the tableset
79
+ length: 512
80
+ tap:principal: 1
81
+ tap:std: 1
82
+ tap:column_index: 5
83
+ - name: table_index
84
+ datatype: int
85
+ description: recommended sort order when listing tables
86
+ tap:principal: 1
87
+ tap:std: 1
88
+ tap:column_index: 6
89
+ constraints:
90
+ - name: "k1"
91
+ "@type": ForeignKey
92
+ columns: ["#tables.schema_name"]
93
+ referencedColumns: ["#schemas.schema_name"]
94
+ - name: "columns"
95
+ description: description of columns in this tableset
96
+ primaryKey: ["#columns.table_name", "#columns.column_name"]
97
+ tap_table_index: 102000
98
+ mysql:engine: "InnoDB"
99
+ columns:
100
+ - name: table_name
101
+ datatype: string
102
+ description: the table this column belongs to
103
+ length: 128
104
+ nullable: false
105
+ tap:principal: 1
106
+ tap:std: 1
107
+ tap:column_index: 1
108
+ - name: column_name
109
+ datatype: string
110
+ description: the column name
111
+ length: 64
112
+ nullable: false
113
+ tap:principal: 1
114
+ tap:std: 1
115
+ tap:column_index: 2
116
+ - name: utype
117
+ datatype: string
118
+ description: lists the utypes of columns in the tableset
119
+ length: 512
120
+ tap:principal: 1
121
+ tap:std: 1
122
+ tap:column_index: 3
123
+ - name: ucd
124
+ datatype: string
125
+ description: lists the UCDs of columns in the tableset
126
+ length: 64
127
+ tap:principal: 1
128
+ tap:std: 1
129
+ tap:column_index: 4
130
+ - name: unit
131
+ datatype: string
132
+ description: lists the unit used for column values in the tableset
133
+ length: 64
134
+ tap:principal: 1
135
+ tap:std: 1
136
+ tap:column_index: 5
137
+ - name: description
138
+ datatype: string
139
+ description: describes the columns in the tableset
140
+ length: 512
141
+ tap:principal: 1
142
+ tap:std: 1
143
+ tap:column_index: 6
144
+ - name: datatype
145
+ datatype: string
146
+ description: lists the ADQL datatype of columns in the tableset
147
+ length: 64
148
+ nullable: false
149
+ tap:principal: 1
150
+ tap:std: 1
151
+ tap:column_index: 7
152
+ - name: arraysize
153
+ datatype: string
154
+ description: lists the size of variable-length columns in the tableset
155
+ length: 16
156
+ tap:principal: 1
157
+ tap:std: 1
158
+ tap:column_index: 8
159
+ - name: xtype
160
+ datatype: string
161
+ description: a DALI or custom extended type annotation
162
+ length: 64
163
+ tap:principal: 1
164
+ tap:std: 1
165
+ tap:column_index: 9
166
+ - name: size
167
+ datatype: int
168
+ description: "deprecated: use arraysize"
169
+ tap:principal: 1
170
+ tap:std: 1
171
+ tap:column_index: 10
172
+ - name: principal
173
+ datatype: int
174
+ description: a principal column; 1 means 1, 0 means 0
175
+ nullable: false
176
+ tap:principal: 1
177
+ tap:std: 1
178
+ tap:column_index: 11
179
+ - name: indexed
180
+ datatype: int
181
+ description: an indexed column; 1 means 1, 0 means 0
182
+ nullable: false
183
+ tap:principal: 1
184
+ tap:std: 1
185
+ tap:column_index: 12
186
+ - name: std
187
+ datatype: int
188
+ description: a standard column; 1 means 1, 0 means 0
189
+ nullable: false
190
+ tap:principal: 1
191
+ tap:std: 1
192
+ tap:column_index: 13
193
+ - name: column_index
194
+ datatype: int
195
+ description: recommended sort order when listing columns
196
+ tap:principal: 1
197
+ tap:std: 1
198
+ tap:column_index: 14
199
+ constraints:
200
+ - name: "k2"
201
+ "@type": ForeignKey
202
+ columns: ["#columns.table_name"]
203
+ referencedColumns: ["#tables.table_name"]
204
+ - name: "keys"
205
+ description: description of foreign keys in this tableset
206
+ primaryKey: "#keys.key_id"
207
+ tap:table_index: 103000
208
+ mysql:engine: "InnoDB"
209
+ columns:
210
+ - name: key_id
211
+ datatype: string
212
+ description: unique key to join to tap_schema.key_columns
213
+ length: 64
214
+ nullable: false
215
+ - name: from_table
216
+ datatype: string
217
+ description: the table with the foreign key
218
+ length: 128
219
+ nullable: false
220
+ - name: target_table
221
+ datatype: string
222
+ description: the table with the primary key
223
+ length: 128
224
+ nullable: false
225
+ - name: utype
226
+ datatype: string
227
+ description: lists the utype of keys in the tableset
228
+ length: 512
229
+ - name: description
230
+ datatype: string
231
+ description: describes keys in the tableset
232
+ length: 512
233
+ constraints:
234
+ - name: "k3"
235
+ "@type": ForeignKey
236
+ columns: ["#keys.from_table"]
237
+ referencedColumns: ["#tables.table_name"]
238
+ - name: "k4"
239
+ "@type": ForeignKey
240
+ columns: ["#keys.target_table"]
241
+ referencedColumns: ["#tables.table_name"]
242
+ - name: "key_columns"
243
+ description: description of foreign key columns in this tableset
244
+ tap:table_index: 104000
245
+ mysql:engine: "InnoDB"
246
+ columns:
247
+ - name: key_id
248
+ datatype: string
249
+ length: 64
250
+ nullable: false
251
+ - name: from_column
252
+ datatype: string
253
+ length: 64
254
+ nullable: false
255
+ - name: target_column
256
+ datatype: string
257
+ length: 64
258
+ nullable: false
259
+ constraints:
260
+ - name: "k5"
261
+ "@type": ForeignKey
262
+ columns: ["#key_columns.key_id"]
263
+ referencedColumns: ["#keys.key_id"]
264
+ # FIXME: These can't be defined as FK constraints, because they refer
265
+ # to non-unique columns, e.g., column_name from the columns table.
266
+ # - name: "k6"
267
+ # "@type": ForeignKey
268
+ # columns: ["#key_columns.from_column"]
269
+ # referencedColumns: ["#columns.column_name"]
270
+ # - name: "k7"
271
+ # "@type": ForeignKey
272
+ # columns: ["#key_columns.target_column"]
273
+ # referencedColumns: ["#columns.column_name"]
felis/tap.py CHANGED
@@ -407,11 +407,7 @@ class TapLoadingVisitor:
407
407
  felis_type = FelisType.felis_type(felis_datatype.value)
408
408
  column.datatype = column_obj.votable_datatype or felis_type.votable_name
409
409
 
410
- column.arraysize = column_obj.votable_arraysize or (
411
- column_obj.length if (column_obj.length is not None and column_obj.length > 1) else None
412
- )
413
- if (felis_type.is_timestamp or column_obj.datatype == "text") and column.arraysize is None:
414
- column.arraysize = "*"
410
+ column.arraysize = column_obj.votable_arraysize
415
411
 
416
412
  def _is_int(s: str) -> bool:
417
413
  try: