On Sep 15, 2009, at 6:59 PM, P Kishor wrote:

> On Tue, Sep 15, 2009 at 8:50 PM, Tito Ciuro <tci...@mac.com> wrote:
>> On Sep 15, 2009, at 6:42 PM, P Kishor wrote:
>>
>>> Could it be that those seemingly identical multiple rows actually  
>>> have
>>> trailing spaces or some other non-visible character? Check for their
>>> length.
>>
>> Here we go:
>>
>>> sqlite> SELECT clientName, entityName, length(entityName) FROM  
>>> MyDBState
>>> ORDER BY entityName;
>>> com.apple.AddressBook|com.apple.contacts.CalendarURI|30
>>> com.apple.AddressBook|com.apple.contacts.Contact|26
>>> com.apple.AddressBook|com.apple.contacts.Date|23
>>> com.apple.AddressBook|com.apple.contacts.Email Address|32
>>> com.apple.AddressBook|com.apple.contacts.Group|24
>>> com.apple.AddressBook|com.apple.contacts.IM|21
>>> com.apple.AddressBook|com.apple.contacts.ImageTransformationInfo|42
>>> com.apple.AddressBook|com.apple.contacts.ImageTransformationInfo|42
>>> com.apple.AddressBook|com.apple.contacts.Phone Number|31
>>> com.apple.AddressBook|com.apple.contacts.Phone Number|31
>>> com.apple.AddressBook|com.apple.contacts.Related Name|31
>>> com.apple.AddressBook|com.apple.contacts.Related Name|31
>>> com.apple.AddressBook|com.apple.contacts.SmartGroup|29
>>> com.apple.AddressBook|com.apple.contacts.SmartGroup|29
>>> sqlite>
>>
>
> punk...@lucknow ~/Desktop/stuff$sqlite3
> SQLite version 3.6.11
> Enter ".help" for instructions
> Enter SQL statements terminated with a ";"
> sqlite> CREATE TABLE MyDBState (clientName TEXT, entityName
> TEXT,propertyNames BLOB, PRIMARY KEY (clientName, entityName));
> sqlite> INSERT INTO MyDBState (clientName, entityName) VALUES
> ('com.apple.AddressBook', 'com.apple.contacts.SmartGroup');
> sqlite> INSERT INTO MyDBState (clientName, entityName) VALUES
> ('com.apple.AddressBook', 'com.apple.contacts.SmartGroup');
> SQL error: columns clientName, entityName are not unique
>
> SQLite should stop you from inserting duplicate PK right away, like  
> above.
>
>
> By the way, in your original post, you gave a different name for your
> table... see below --
>
>> CREATE TABLE MyDBState (clientName TEXT, entityName TEXT,
>> propertyNames BLOB, PRIMARY KEY (clientName, entityName))
>>
>> If I output the data using sqlite3, I get:
>>
>> sqlite> SELECT clientName, entityName FROM SyncState ORDER BY
>> entityName;
>
> Where did SyncState come from? Is that different from MyDBState? Or,
> was that just a typo?
>
>
> Maybe some of the folks knowing more about the innards of the software
> can help. Which version are you using?

It was a typo. I'm using Mac OS X 10.6.1, so the version seems to be  
3.6.12

Yeah, it's puzzling how this can be happening. We really don't know  
why... we're looking.

Thanks again,

-- Tito

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to