Project

General

Profile

Statistics
| Revision:

# Date Author Comment
2366 05/23/2012 04:30 PM Aaron Marcuse-Kubitza

sql_gen.py: ValueCond and Join class hierarchies inherit from objects.BasicObject like Code does

2365 05/23/2012 04:24 PM Aaron Marcuse-Kubitza

sql.py: put_table(): ignore(): Fixed bug where value needed to be filtered through repr(). NullValueException: Fixed bug where value passed to ignore() was the string 'NULL' instead of the value None.

2364 05/23/2012 04:14 PM Aaron Marcuse-Kubitza

mappings/DwC2-VegBIEN.specimens.csv: plantname.rank: Filter through _toTaxonrank

2363 05/23/2012 04:03 PM Aaron Marcuse-Kubitza

sql.py: put_table(): ignore(): Avoid infinite loops by asserting that in_col is not in conds

2362 05/23/2012 03:58 PM Aaron Marcuse-Kubitza

objects.py: BasicObject: Fixed bug where util needed to be imported. Added eq() and hash().

2361 05/23/2012 03:47 PM Aaron Marcuse-Kubitza

strings.py: Removed no longer used DebugPrintable (that functionality is now in objects.BasicObject)

2360 05/23/2012 03:46 PM Aaron Marcuse-Kubitza

sql_gen.py: Code: Inherit from new objects.BasicObject

2359 05/23/2012 03:46 PM Aaron Marcuse-Kubitza

Added objects.py

2358 05/23/2012 03:37 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Renamed log_ignore() to ignore() and factored common conds-modifying code into it

2357 05/23/2012 03:29 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Moved post-insert code outside while loop because it will now always be run (there are no longer special cases where the postprocessing doesn't happen)

2356 05/23/2012 03:25 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Missing mapping for NOT NULL column: Just create an empty pkeys table, since the missing rows' pkeys will be set to NULL later

2355 05/23/2012 03:17 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Joining together output and input pkeys: Use new sql_gen.join_same_not_null

2354 05/23/2012 03:14 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Setting missing rows' pkeys to NULL: Use new sql_gen.join_same_not_null

2353 05/23/2012 03:14 PM Aaron Marcuse-Kubitza

sql_gen.py: Join: Added join_same_not_null. to_str(): Refactored to switch order of left and right tables and cols because left_table is on the right in the comparison, and using the sides of the comparison instead of the sides of the join makes the code clearer.

2352 05/23/2012 02:51 PM Aaron Marcuse-Kubitza

sql_gen.py: Renamed join_using to join_same to reflect that it can also be used without USING

2351 05/23/2012 02:48 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Set missing rows' pkeys to NULL

2350 05/23/2012 02:10 PM Aaron Marcuse-Kubitza

sql.py: put_table(): NullValueException: no mapping for missing col: Fixed bug where run_query_into_pkeys() was still using insert_joins instead of input_joins

2349 05/23/2012 02:06 PM Aaron Marcuse-Kubitza

sql_gen.py: Added MockDb. All str() methods: Use self.to_str() with mockDb.

2348 05/23/2012 01:59 PM Aaron Marcuse-Kubitza

sql_gen.py: Use db.esc_name() instead of sql.esc_name(db, ...) so passed-in db can be a mock object

2347 05/23/2012 01:58 PM Aaron Marcuse-Kubitza

sql.py: DbConn: Added esc_name()

2346 05/23/2012 01:51 PM Aaron Marcuse-Kubitza

db_xml.py: put_table(): Debug-print which columns are being put

2345 05/23/2012 01:50 PM Aaron Marcuse-Kubitza

sql.py: ConstraintException, NullValueException: Improved error messages

2344 05/23/2012 01:31 PM Aaron Marcuse-Kubitza

sql.py: put_table(): FunctionValueException: Fixed bug where out_table was still assumed to be an escaped string, but is now a Table object

2343 05/23/2012 01:29 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): joins: Use new table_not_null_col() instead of pkey() to get a non-NULL column to filter out on

2342 05/22/2012 10:00 PM Aaron Marcuse-Kubitza

exc.py: add_msg(): Fixed bug where msg needed to be converted to a unicode object before appending it to another unicode object

2341 05/22/2012 09:54 PM Aaron Marcuse-Kubitza

mappings/VegX-VegBIEN.stems.csv: Fixed bug where taxonfit was named taxonFit. (This was only recently discovered because column names are now escaped, causing them not to be case-insensitive.)

2340 05/22/2012 09:51 PM Aaron Marcuse-Kubitza

sql.py: Added table_not_null_col()

2339 05/22/2012 09:50 PM Aaron Marcuse-Kubitza

sql.py: Added table_cols() and use it in pkey()

2338 05/22/2012 09:36 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql, schemas/functions.sql: Relational functions: Added dummy not_null column to provide a column to use in LEFT JOIN filter-out filters

2337 05/22/2012 09:24 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): embeddable: Use new sql_gen.NamedTable

2336 05/22/2012 09:23 PM Aaron Marcuse-Kubitza

sql_gen.py: Added NamedTable. Table: Added to_Table().

2335 05/22/2012 09:06 PM Aaron Marcuse-Kubitza

sql_gen.py: Added section labels for each type of SQL code object

2334 05/22/2012 08:25 PM Aaron Marcuse-Kubitza

sql.py: put_table(): DuplicateKeyException: Fixed bug where dict_subset_right_join() was used instead of dict_subset(), adding spurious None values for columns in the constraint which are not in the input tables

2333 05/22/2012 08:23 PM Aaron Marcuse-Kubitza

sql_gen.py: as_Col(): Don't allow None cols

2332 05/22/2012 08:06 PM Aaron Marcuse-Kubitza

schemas/vegbien.ERD.mwb: Synced with schemas/vegbien.sql

2331 05/22/2012 07:39 PM Aaron Marcuse-Kubitza

sql.py: Removed no longer used clean_name()

2330 05/22/2012 07:38 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): embeddable: Removed clean_name() because the function name is now escaped where it's used

2329 05/22/2012 07:36 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Added support for out_table values that are Table objects

2328 05/22/2012 07:31 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Fixed bug where table for creating the returning column Col object was the already-escaped string, instead of the Table object

2327 05/22/2012 07:24 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Fixed bug where function name and returning col were not being escaped

2326 05/22/2012 07:08 PM Aaron Marcuse-Kubitza

sql.py: put_table(): log_ignore(): Fixed bug where in_col needed to be passed through str() because it's a column object

2325 05/22/2012 07:03 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Fixed bug where the filter_out join should only be used in the insert, not in the select of existing/inserted rows. insert_select() call: Fixed compatibility bug where old versions of Python did not support mixing keyword args and ** args.

2324 05/22/2012 06:32 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Fixed bug where "add_row_num(db, out_pkeys_ref0)" was mistakenly put under the "if row_ct_ref != None" if statement

2323 05/22/2012 06:26 PM Aaron Marcuse-Kubitza

sql_gen.py: Renamed NamedCode to NamedCol to better reflect its specific use

2322 05/22/2012 06:23 PM Aaron Marcuse-Kubitza

sql.py: Removed unnecessary calls to check_name()

2321 05/22/2012 06:22 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Fixed bug where returning col was not being escaped

2320 05/22/2012 06:20 PM Aaron Marcuse-Kubitza

sql.py: add_row_num(): Fixed bug where table name was not being escaped

2319 05/22/2012 06:13 PM Aaron Marcuse-Kubitza

sql.py: run_query_into(): Fixed bug where into table name was not being escaped

2318 05/22/2012 06:07 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Fixed bug where utput column names were not being escaped

2317 05/22/2012 05:57 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Fixed bug where only string columns were being included in the distinct_on, but columns are now always sql_gen.Col instances

2316 05/22/2012 05:53 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Put together varying insert_select() args using dict instead of individual vars

2315 05/22/2012 05:51 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): Fixed bug where order_by needed to default to None if distinct_on was used. Fixed bug where cond values were being treated as %s params in addition to being parsed by sql_gen.as_ValueCond().to_str().

2314 05/22/2012 05:40 PM Aaron Marcuse-Kubitza

sql_gen.py: Col: Added to_Col()

2313 05/22/2012 05:31 PM Aaron Marcuse-Kubitza

db_xml.py: put_table(): Accept sql_gen.Table objects or strings instead of separate table and schema names

2312 05/22/2012 05:10 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Require all in_table_cols to be sql_gen.Col objects

2311 05/22/2012 05:03 PM Aaron Marcuse-Kubitza

sql_gen.py: ValueCond: Unwrap NamedCode objects

2310 05/22/2012 04:55 PM Aaron Marcuse-Kubitza

sql_gen.py: NamedCode: Inherit from Col so that its name can be retrieved using the same attribute as Col's

2309 05/22/2012 04:43 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Debug-log each caught exception

2308 05/22/2012 04:41 PM Aaron Marcuse-Kubitza

exc.py: str_(): Added first_line_only param to return just the first line

2307 05/22/2012 04:26 PM Aaron Marcuse-Kubitza

sql.py: ConstraintException: Changed text of message to specify that a constraint was violated

2306 05/22/2012 04:14 PM Aaron Marcuse-Kubitza

sql.py: Renamed ExceptionWithColumns to ConstraintException and added name field to contain the constraint name, if any

2305 05/22/2012 04:06 PM Aaron Marcuse-Kubitza

sql.py: put_table(): If there are join_cols, don't get output pkeys of inserted rows and instead select all rows (existing and inserted) after the insert

2304 05/22/2012 04:04 PM Aaron Marcuse-Kubitza

sql_gen.py: Join.to_str(): Fixed bug where order of right_table_col and left_table_col was reversed when applying as_ValueCond() and as_Col()

2303 05/22/2012 03:33 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Moved things outside of the try clause which should not produce the exceptions

2302 05/22/2012 03:21 PM Aaron Marcuse-Kubitza

sql_gen.py: Code: Extend new strings.DebugPrintable instead of implementing str(), repr() itself

2301 05/22/2012 03:20 PM Aaron Marcuse-Kubitza

strings.py: Added DebugPrintable

2300 05/22/2012 03:17 PM Aaron Marcuse-Kubitza

sql_gen.py: Code: str(): Added class name. Added repr().

2299 05/22/2012 03:16 PM Aaron Marcuse-Kubitza

util.py: Added class_name()

2298 05/22/2012 02:55 PM Aaron Marcuse-Kubitza

sql_gen.py: Join.to_str(): Fixed bug in USING syntax where columns were not escaped

2297 05/22/2012 02:48 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Order selects by in_tables0's pkey to avoid undefined orderings on multiple runs of the same query

2296 05/22/2012 02:42 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): Removed no longer used esc_name_()

2295 05/22/2012 02:41 PM Aaron Marcuse-Kubitza

sql_gen.py: as_Table() Removed no longer used support for (schema, table) tuples

2294 05/22/2012 02:39 PM Aaron Marcuse-Kubitza

sql_gen.py: Removed no longer used unescape_table() and table2sql_gen()

2293 05/22/2012 02:38 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): Removed no longer used table_is_esc

2292 05/22/2012 02:37 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Removed no longer used table_is_esc

2291 05/22/2012 02:34 PM Aaron Marcuse-Kubitza

sql.py: pkey(): Removed no longer used table_is_esc

2290 05/22/2012 02:31 PM Aaron Marcuse-Kubitza

sql.py: cleanup_table(): Switched from table_is_esc to sql_gen.as_Table.to_str()

2289 05/22/2012 02:19 PM Aaron Marcuse-Kubitza

csv2db: Switched to using plain table names rather than table_is_esc

2288 05/22/2012 02:13 PM Aaron Marcuse-Kubitza

bin/map: Switched to using sql_gen rather than table_is_esc

2287 05/22/2012 02:05 PM Aaron Marcuse-Kubitza

sql_gen.py: Removed no longer needed col2sql_gen() and value2sql_gen()

2286 05/22/2012 02:04 PM Aaron Marcuse-Kubitza

sql.py: Replaced sql_gen.value2sql_gen() with sql_gen.as_Col()

2285 05/22/2012 02:00 PM Aaron Marcuse-Kubitza

sql.py: Replaced sql_gen.col2sql_gen() with sql_gen.as_Col()

2284 05/22/2012 01:57 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): Inline cond() and don't use sql_gen.as_Col because sql_gen.as_ValueCond.to_str() calls it

2283 05/22/2012 01:54 PM Aaron Marcuse-Kubitza

sql_gen.py: Removed no longer needed cond2sql_gen()

2282 05/22/2012 01:53 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): cond(): Parse conditions using sql_gen-only functions

2281 05/22/2012 01:47 PM Aaron Marcuse-Kubitza

sql_gen.py: Removed no longer needed join2sql_gen()

2280 05/22/2012 01:44 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Switched joins to sql_gen.Join objects. mk_select(): Only accept joins which are sql_gen.Join objects.

2279 05/22/2012 01:38 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Removed no longer used table_is_esc param

2278 05/22/2012 01:36 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Switched joins to sql_gen.Join objects

2277 05/22/2012 01:28 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): joins: Switched to using sql_gen.Join.to_str() to render joins to SQL

2276 05/22/2012 01:24 PM Aaron Marcuse-Kubitza

sql_gen.py: Join.to_str(): Fixed bugs revealed in first test of function

2275 05/21/2012 11:05 PM Aaron Marcuse-Kubitza

db_xml.py: put_table(): Turn off table_is_esc when calling sql.put_table() and don't escape out_table

2274 05/21/2012 11:04 PM Aaron Marcuse-Kubitza

sql.py: mk_insert_select(): Use sql_gen.table2sql_gen().to_str() to escape the table

2273 05/21/2012 10:57 PM Aaron Marcuse-Kubitza

db_xml.py: put_table(): First in_tables table is sql_gen.Table object

2272 05/21/2012 10:49 PM Aaron Marcuse-Kubitza

db_xml.py: put_table(): Converted row (mapping) values to sql_gen objects

2271 05/21/2012 10:45 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): Accept main tables (table0's) that are Table objects. This change requires plain SQL code to be wrapped in a CustomCode object if it should not be unescaped and converted to a Table object.

2270 05/21/2012 10:42 PM Aaron Marcuse-Kubitza

sql_gen.py: as_Table(): Accept tables that are Code objects, not just Table objects

2269 05/21/2012 10:40 PM Aaron Marcuse-Kubitza

sql_gen.py: CustomCode: Fixed bug where needed to inherit from Code

2268 05/21/2012 10:19 PM Aaron Marcuse-Kubitza

sql.py: put_table(): Return a sql_gen.Col object instead of an old-style tuple

2267 05/21/2012 10:00 PM Aaron Marcuse-Kubitza

sql.py: mk_select(): joins: Switched to using filter_out as an attribute of the Join object instead of a sentinel value for the first column. Filter by the right table's pkey being NULL instead of each joined column being NULL, because some joined columns may contain NULL values which would mess things up, but the pkey presumably is NOT NULL.