home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 579a.lha / sqldb_v1.0alpha2 / TODO < prev    next >
Text File  |  1991-11-25  |  3KB  |  94 lines

  1. add the HAVING to GROUP BY in SELECT -  DONE 03/30/90
  2. extend GROUP BY to allow each group to be a range of values
  3. add ORDER BY to SELECT
  4. add DELETE command    - DONE 04/20/90
  5. add UPDATE command    - DONE 05/04/90
  6. add subquery to INSERT
  7. indexes and query optimization
  8. add null-value logic    - four value logic DONE 06/10/91
  9. implement date-type
  10. fix so tables produced by evalCols() have proper column types - DONE 02/91
  11.  
  12. CLOSE DATABASE - close all open tables
  13.  
  14. develop test suite to test entire functionality
  15.  
  16. add a shell-type interface extension to command interface
  17.     variables
  18.     aliases
  19.     history
  20.     substitutions    
  21. Get rid of '{' & '}' in evaluating a boolean expression:    - DONE 01/28/91
  22.  
  23. disk and/or RAM based tables, transparent to user - STARTED 04/02/90
  24.                     ALL BUT GROUP stuff DONE 04/10/90
  25.                             ALL DONE 04/20/90
  26.  
  27. changed handling of deleted rows, disk access is much faster DONE 09/18/91
  28.     
  29. Multi-User
  30.     
  31. Add UNIQUE constraints to CREATE TABLE
  32.     Ex: create table (foo integer, bar integer, unique (foo, bar));
  33.  
  34. Add some kind of comment delimiters to get_tok()
  35.     DONE in cmd-shell interface 11/07/90
  36.  
  37. Add command to allow commands to be read in from file and executed
  38.     DONE    ??/91
  39.  
  40. Add SYSTABLES, SYSCOLUMNS, SYSDOMAINS,      SYSVIEWS 
  41.     ^^^^^^^^^  ^^^^^^^^^^ DONE 7/91
  42.      name    name        name       name
  43.      creator    table        base type       SQL expr
  44.         creator        bottom value   insertable
  45.         coltype     top value       updatable
  46.         domain        less than       deletable
  47.         marks 
  48.         length
  49.         scale
  50.         precision
  51.         pkey
  52.         fkey
  53.  
  54.     create above tables
  55.     open/load table - put each column in SYSCOLUMNS, put table in SYSTABLES
  56.     close/drop table - drop rows in SYSCOLUMNS, and SYSTABLES
  57.         crttab.c
  58.     SQLDB:domains - load upon starting, save upon quitting
  59.     should all files be stored in SQLDB? (multi-user definitely)
  60.  
  61. tablename.cdf    column definition file
  62. tablename.rdf    row definition file
  63.  
  64. BUGS:
  65.           add a check so that a join is not allowed with the same table
  66.     without aliases.
  67.     This is legal: select from foo x, foo y;
  68.     This is not, I think:   select from foo, foo;
  69.  
  70.     no keyword test in table definition
  71.  
  72.     no single-value per group test in GROUP BY    
  73.  
  74.     GROUP BY doesn't allow use of column numbers (ex. GROUP BY name,2 )
  75.  
  76. multi-column IN clause:
  77.  
  78.     SELECT * FROM foobar WHERE <col2,col4> IN [
  79.             SELECT col2,col4 FROM footab3 WHERE ...];
  80.  
  81.             or
  82.  
  83.     SELECT * FROM foobar WHERE <col2,col4> IN
  84.              (<pair1a,pair1b>,<pair2a,pair2b>,<pair3a,pair3b>);
  85.  
  86.  
  87. try this query (gotta implement ORDER BY):
  88. select sum(1),x.col1,x.col2...
  89.     from mytable x, mytable y
  90.     where x.col1 <= y.col1
  91.     group by x.col1, x.col2...
  92.     order by 1
  93.  
  94.