Comments (4)
Yes, many things can and should be computed on the fly rather than being stored. Currently this can be done in a number of ways and I am not sure if binding this into fetch
would be the cleanest option. For example, how would users know that this extra field is available? Would it be included in the table declaration? Or should these fields somehow be added to the table heading?
Would you like to flesh this out a bit?
from datajoint-matlab.
I mentioned fetch
because it was the first thing that comes to mind. I liked the idea of updating the table declaration (e.g. annotated with a new 'volatile'
data type) so that in a given table/class, all fields and their descriptions appear in the same place. To compute these fields would require some extra callbacks and indirection, so you're right that it's probably not the cleanest option.
A cleaner option, perhaps, would be to simply describe extra fields as comments in the declaration, then make my own get_xyz(self, key)
function for each field xyz
.
from datajoint-matlab.
The self.get_xyz(key)
solution is what people do now. You must be careful though since sequential fetch
calls are not guaranteed to return the same things in the same order. So if you need other attributes from the same table along with xyz
, you better get them in one fetch and then compute xyz
for each item in the sequence.
from datajoint-matlab.
Thanks!
from datajoint-matlab.
Related Issues (20)
- Markdown not properly rendered in FEX Toolbox description
- fetchn(tableA * tableB, 'field') does not work in 3.4.2
- del deletes some incorrect entries from downstream tables with renamed foreign keys HOT 1
- table classes on path was not recognized when deleting or populating
- error with fetchn DataJoint version 3.4.2 HOT 1
- `{}` is not supported in attribute comments HOT 1
- bool and boolean is not supported in 3.4.1 HOT 1
- Parallelize file transfer for external blobs HOT 1
- bug with del() HOT 6
- Occasional fwrite errors using file-based stores
- fetching 'KEY' error HOT 2
- discovering existing tables across python/matlab HOT 5
- Empty matrices are converted to NULL HOT 2
- syncDef missing [nullable] & comment properties HOT 2
- Officially use the `+` operator for unions
- SSL Connection error HOT 3
- Schema name must start with lower case HOT 2
- Allow strings as well as char HOT 2
- MATLAB hangs and ramps up CPU usage if user closes the password Diagloue Box
- Allow pasting when logging into a database
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from datajoint-matlab.