Print

Print


My mistake, here's what I meant:

.../Source/match/dirColNameObjectId
.../Source/match/dirTableObject
...

Correct?

Le 18/12/2014 22:03, Fabrice Jammes a écrit :
> Thanks Serge for these clear explanations,
>
> In this test I was partitioning SimRefObject but I think it is an 
> error, I'll remove it. (It seems SQL query coverage should be 
> extended, all queries on SimRefObject are in FIXME state ;-))
> In my case the dirTable will be Object and the dirColName Source, for 
> the table Source, isn't it?
>
> Cheers,
>
> Le 18/12/2014 21:33, Serge Monkewitz a écrit :
>> Well, in testcase 01, SimRefObject and RefSrcMatch are not 
>> partitioned. So Qserv doesn’t really need to know anything about them 
>> for queries to work (at least from the query analysis point of view)..
>>
>> If you did decide to partition SimRefObject, it would be its own 
>> director table, and would have dirTable = SimRefObject and dirColName 
>> equal to its PK (simRefObjectId I think it was).
>>
>> RefSrcMatch is a match table, which can be used to join between 2 
>> directors. In this case (I’m not sure where exactly the test case 01 
>> data is from) it probably links up SimRefObject with the Source 
>> table. So it would have ZK metadata that looks roughly like:
>>
>> .../RefSrcMatch/match1
>> .../RefSrcMatch/match/dirColName1simRefObjectId
>> .../RefSrcMatch/match/dirColName2sourceId
>> .../RefSrcMatch/match/dirTable1SimRefObject
>> .../RefSrcMatch/match/dirTable2Source
>> .../RefSrcMatch/match/flagColNameflags
>> .../RefSrcMatch/partitioning\N
>> .../RefSrcMatch/partitioning/subChunks0
>>
>> And, since partitioning match table records works differently from 
>> other kinds of records (each record is associated with 2 positions 
>> rather than just 1), you have to invoke sph-partition-matches rather 
>> than sph-partition on it. I don’t know if Andy’s loader supports that 
>> yet.
>>
>> Cheers,
>> Serge
>>
>>
>> On Dec 18, 2014, at 6:44 PM, Fabrice Jammes <[log in to unmask] 
>> <mailto:[log in to unmask]>> wrote:
>>
>>> -------- Forwarded Message --------
>>> Subject: 	Re: [QSERV-L] LOADER: support for multi-column PK
>>> Date: 	Thu, 18 Dec 2014 18:43:24 -0800
>>> From: 	Fabrice Jammes <[log in to unmask]>
>>> To: 	Serge Monkewitz <[log in to unmask]>
>>>
>>>
>>>
>>> Ok, what should be dirTable, dirColName for SimRefObject, indeed it 
>>> doesn't have a link with Object table, but with RefSrcMatch.
>>>
>>> Thanks, it helps a lot to understand ;-)
>>>
>>> Fabrice
>>>
>>> On 12/18/2014 06:33 PM, Serge Monkewitz wrote:
>>>> Ah. I checked testcase 01, and none of the queries not marked FIXME 
>>>> join between Object and the other tables you mention. In fact, 
>>>> there is only one query that does a join at all (1051_nn.sql 
>>>> <https://dev.lsstcorp.org/cgit/LSST/DMS/testdata/qserv_testdata.git/tree/datasets/case01/queries/1051_nn.sql>), 
>>>> and it joins Object against itself.
>>>>
>>>> So if you aren’t loading metadata from .param files anymore and you 
>>>> omit dirTable and dirColName, nothing will break. If you were to 
>>>> run a query that joined say Object and Source, the query analysis 
>>>> code would complain.
>>>>
>>>> I didn’t check the second test case.
>>>>
>>>>
>>>> On Dec 18, 2014, at 6:26 PM, Fabrice Jammes 
>>>> <[log in to unmask] <mailto:[log in to unmask]>> wrote:
>>>>
>>>>> It seems it is:
>>>>>
>>>>> Database changed
>>>>> mysql> show tables;
>>>>> +----------------------------------+
>>>>> | Tables_in_qservTest_case01_qserv |
>>>>> +----------------------------------+
>>>>> | Filter                           |
>>>>> | LeapSeconds                      |
>>>>> | Logs                             |
>>>>> | Object                           |
>>>>> | ObjectFullOverlap_6630           |
>>>>> | ObjectFullOverlap_6631           |
>>>>> | ObjectFullOverlap_6800           |
>>>>> | ObjectFullOverlap_6801           |
>>>>> | ObjectFullOverlap_6968           |
>>>>> | ObjectFullOverlap_6970           |
>>>>> | ObjectFullOverlap_6971           |
>>>>> | ObjectFullOverlap_7138           |
>>>>> | ObjectFullOverlap_7140           |
>>>>> | ObjectFullOverlap_7308           |
>>>>> | ObjectFullOverlap_7478           |
>>>>> | ObjectFullOverlap_7648           |
>>>>> | Object_1234567890                |
>>>>> | Object_6630                      |
>>>>> | Object_6631                      |
>>>>> | Object_6800                      |
>>>>> | Object_6801                      |
>>>>> | Object_6968                      |
>>>>> | Object_6970                      |
>>>>> | Object_6971                      |
>>>>> | Object_7138                      |
>>>>> | Object_7140                      |
>>>>> | Object_7308                      |
>>>>> | Object_7310                      |
>>>>> | Object_7478                      |
>>>>> | Object_7648                      |
>>>>> | RefSrcMatch                      |
>>>>> | Science_Ccd_Exposure             |
>>>>> | SimRefObject                     |
>>>>> | Source                           |
>>>>> | Source_1234567890                |
>>>>> | Source_6630                      |
>>>>> | Source_6631                      |
>>>>> | Source_6800                      |
>>>>> | Source_6801                      |
>>>>> | Source_6968                      |
>>>>> | Source_6970                      |
>>>>> | Source_6971                      |
>>>>> | Source_7138                      |
>>>>> | Source_7140                      |
>>>>> | Source_7308                      |
>>>>> | Source_7310                      |
>>>>> | Source_7478                      |
>>>>> | Source_7648                      |
>>>>> | sdqa_Metric                      |
>>>>> +----------------------------------+
>>>>> 49 rows in set (0,00 sec)
>>>>>
>>>>>
>>>>> On 12/18/2014 06:20 PM, Serge Monkewitz wrote:
>>>>>> On Dec 18, 2014, at 6:12 PM, Fabrice Jammes 
>>>>>> <[log in to unmask] <mailto:[log in to unmask]>> wrote:
>>>>>>
>>>>>>> DeepSource si a view, shouldn't it be RunDeepSource the director 
>>>>>>> table?
>>>>>> In the Winter2013 release, yes it is. But RunDeepSource contains 
>>>>>> a bunch of extra columns and uses pipeline column naming 
>>>>>> conventions, so I just dumped from the view instead. Note I had 
>>>>>> to do other things to make it work in qserv (IIRC I changed the 
>>>>>> type of BIT columns to TINYINT). Unless the goal is to duplicate 
>>>>>> the plain mysql setup from stripe 82 data as closely as possible, 
>>>>>> let’s not get hung up on these details.
>>>>>>
>>>>>>> Furthermore, it seems dirTable and  dirColName are optional for 
>>>>>>> now, isn't it? Andy doesn't set it in test case01 and 02 and it 
>>>>>>> works.
>>>>>> If you don’t specify them though, the query analysis code will 
>>>>>> not let you join between related partitioned tables. Is the data 
>>>>>> in test case01/02 being partitioned at all?
>>>>>>
>>>>>> Serge
>>>>>> ########################################################################
>>>>>> Use REPLY-ALL to reply to list
>>>>>>
>>>>>> To unsubscribe from the QSERV-L list, click the following link:
>>>>>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> Use REPLY-ALL to reply to list
>>>
>>> To unsubscribe from the QSERV-L list, click the following link:
>>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1
>>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> Use REPLY-ALL to reply to list
>>
>> To unsubscribe from the QSERV-L list, click the following link:
>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1
>>
>
>
> ------------------------------------------------------------------------
>
> Use REPLY-ALL to reply to list
>
> To unsubscribe from the QSERV-L list, click the following link:
> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1
>


########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the QSERV-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1